[pkg-gnupg-maint] Bug#878812: Segfaults when encrypting to certain keys
Guido Günther
agx at sigxcpu.org
Mon Oct 16 20:35:15 UTC 2017
Hi,
On Mon, Oct 16, 2017 at 10:02:09PM +0200, Guido Günther wrote:
> Package: gnupg
> Version: 2.2.1-2
> Severity: normal
>
> Encrypting to 1A6F3E639A4467E8C3476525DF6D76C44D696F6B makes GPG here
> segfault like:
>
> $ coredumpctl dump
> PID: 21438 (gpg)
> UID: 1000 (agx)
> GID: 1000 (agx)
> Signal: 6 (ABRT)
> Timestamp: Mon 2017-10-16 21:57:08 CEST (36s ago)
> Command Line: gpg --enable-special-filenames --batch --no-sk-comments --lc-messages en_US.UTF-8 --lc-ctype de_DE.UTF-8 --status-fd 5 --no-tty --charset utf8 --enable-progress-filter --exit-on-status-write-error --display :0 --ttyname /dev/pts/5 --ttytype xterm-256color --encrypt --armor --always-trust -r 1A6F3E639A4467E8C3476525DF6D76C44D696F6B -r 0DB3932762F78E592F6522AFBB5A2C77584122D3 -r 0DB3932762F78E592F6522AFBB5A2C77584122D3 --output - -- -&8
> Executable: /usr/bin/gpg
> Control Group: /user.slice/user-1000.slice/user at 1000.service/gnome-terminal-server.service
> Unit: user at 1000.service
> User Unit: gnome-terminal-server.service
> Slice: user-1000.slice
> Owner UID: 1000 (agx)
> Boot ID: 4ef1bf5cd7da4bfcb061d19089fe468e
> Machine ID: 15e9777086166538c724eaba52d14fa1
> Hostname: bogon
> Storage: /var/lib/systemd/coredump/core.gpg.1000.4ef1bf5cd7da4bfcb061d19089fe468e.21438.1508183828000000.lz4
> Message: Process 21438 (gpg) of user 1000 dumped core.
>
> Stack trace of thread 21438:
> #0 0x00007fd58eef3fff __GI_raise (libc.so.6)
> #1 0x00007fd58eef542a __GI_abort (libc.so.6)
> #2 0x0000556a0f291f09 do_logv (gpg)
> #3 0x0000556a0f29290d log_log (gpg)
> #4 0x0000556a0f29306f bug_at (gpg)
> #5 0x0000556a0f243c1e do_we_trust (gpg)
> #6 0x0000556a0f243fff find_and_check_key (gpg)
> #7 0x0000556a0f2455b6 find_and_check_key (gpg)
> #8 0x0000556a0f24b6c2 encrypt_crypt (gpg)
> #9 0x0000556a0f203563 main (gpg)
> #10 0x00007fd58eee12e1 __libc_start_main (libc.so.6)
> #11 0x0000556a0f2054da _start (gpg)
And here's the backtrace from gdb:
(gdb) bt
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fd58eef542a in __GI_abort () at abort.c:89
#2 0x0000556a0f291f09 in do_logv (level=6, ignore_arg_ptr=<optimized out>, extrastring=0x0, prefmt=<optimized out>, fmt=<optimized out>, arg_ptr=0x7ffc0d74f950) at ../../common/logging.c:859
#3 0x0000556a0f29290d in log_log (level=level at entry=6, fmt=fmt at entry=0x556a0f2c72c3 "... this is a bug (%s:%d:%s)\n") at ../../common/logging.c:872
#4 0x0000556a0f29306f in bug_at (file=file at entry=0x556a0f2b7a42 "../../g10/pkclist.c", line=line at entry=417, func=func at entry=0x556a0f2b87f0 <__FUNCTION__.10242> "do_we_trust") at ../../common/logging.c:1074
#5 0x0000556a0f243c1e in do_we_trust (trustlevel=<optimized out>, pk=0x1) at ../../g10/pkclist.c:417
#6 do_we_trust_pre (ctrl=ctrl at entry=0x556a108e0ce0, pk=pk at entry=0x556a108ffbe0, trustlevel=<optimized out>) at ../../g10/pkclist.c:474
#7 0x0000556a0f243fff in find_and_check_key (ctrl=ctrl at entry=0x556a108e0ce0, name=name at entry=0x556a108df95c "1A6F3E639A4467E8C3476525DF6D76C44D696F6B", use=use at entry=2, mark_hidden=0, from_file=0,
pk_list_addr=pk_list_addr at entry=0x7ffc0d74fb20) at ../../g10/pkclist.c:885
#8 0x0000556a0f2455b6 in find_and_check_key (pk_list_addr=0x7ffc0d74fb20, from_file=<optimized out>, mark_hidden=<optimized out>, use=2, name=0x556a108df95c "1A6F3E639A4467E8C3476525DF6D76C44D696F6B",
ctrl=0x556a108e0ce0) at ../../g10/pkclist.c:1301
#9 build_pk_list (ctrl=ctrl at entry=0x556a108e0ce0, rcpts=rcpts at entry=0x556a108df9d0, ret_pk_list=ret_pk_list at entry=0x7ffc0d74fc18) at ../../g10/pkclist.c:1301
#10 0x0000556a0f24b6c2 in encrypt_crypt (ctrl=0x556a108e0ce0, filefd=-1, filename=0x7ffc0d75324f "-&8", remusr=0x556a108df9d0, use_symkey=0, provided_keys=0x0, outputfd=-1) at ../../g10/encrypt.c:523
#11 0x0000556a0f203563 in main (argc=<optimized out>, argv=<optimized out>) at ../../g10/gpg.c:4155
>
>
> I'm using the debian keyring to provide that key:
>
> keyring /usr/share/keyrings/debian-keyring.gpg
>
> Cheers,
> -- Guido
>
>
> -- System Information:
> Debian Release: buster/sid
> APT prefers testing
> APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-updates'), (500, 'oldoldstable'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores)
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
>
> Versions of packages gnupg depends on:
> ii dirmngr 2.2.1-2
> ii gnupg-l10n 2.2.1-2
> ii gnupg-utils 2.2.1-2
> ii gpg 2.2.1-2
> ii gpg-agent 2.2.1-2
> ii gpg-wks-client 2.2.1-2
> ii gpg-wks-server 2.2.1-2
> ii gpgsm 2.2.1-2
> ii gpgv 2.2.1-2
>
> gnupg recommends no packages.
>
> Versions of packages gnupg suggests:
> pn parcimonie <none>
> pn xloadimage <none>
>
> -- no debconf information
More information about the pkg-gnupg-maint
mailing list