[Bug 595553] Re: gpg --list-packets on specific file causes EOF infite loop
Thijs Kinkhorst
kink at squirrelmail.org
Mon Feb 20 20:10:52 UTC 2012
Fixed at least in 1.4.11
** Changed in: gnupg (Ubuntu)
Status: New => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gnupg in Ubuntu.
https://bugs.launchpad.net/bugs/595553
Title:
gpg --list-packets on specific file causes EOF infite loop
Status in GNU Privacy Guard:
Fix Released
Status in “gnupg” package in Ubuntu:
Fix Released
Bug description:
Binary package hint: gnupg
I have an encrypted file that I'm trying to get packet information
from. When I run the file using gpg --list-packets, I get an infinite
loop of EOFs. Here is the gpg version information:
$ gpg --version
gpg (GnuPG) 1.4.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128,
CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
Here is a sample of the output:
$ gpg --list-packets blah.gpg
:pubkey enc packet: version 3, algo 16, keyid 8158B8738374392C
data: [1023 bits]
data: [1023 bits]
:trust packet: flag=e9 sigcache=00
:unknown packet: type 41, length 2624801341
dump: 6e 6f 76 7d ac fa f6 7d 84 49 a9 39 ce 47 7b 76 48 7b ff 34 75 c6 1b b1
24: ac 38 f3 8e 4f 12 ca 1e ca aa 97 57 97 cc ed 18 31 a5 77 19 83 f1 de d9
48: 39 80 a3 a6 d4 c0 93 bf 7e 2a 1b b2 78 9a 67 24 3d fd 9d 74 c7 71 3b fe
72: 6a 34 e8 ce b3 8c c0 c2 41 c7 5c a3 58 bd d2 dd 75 9b 83 74 c7 90 05 2c
96: 87 40 e9 14 e3 37 49 07 70 dc 1c 81 4c 08 cb 35 fd 30 1b df ff 46 6f 97
120: 07 2a 46 c9 bf ee 53 67 f0 7c fb 30 6e cf 7d 21 3b fc 90 0b e1 2e 9f 0f
144: 8a 14 9e 3a d6 d5 00 b2 40 64 d6 20 29 f7 31 9f 45 32 94 3f 88 c1 0b 0b
168: 20 64 dd 0e e7 d7 b2 6f c5 90 26 ec 94 30 a9 72 c0 ae 26 61 8c 10 a5 c4
192: 06 aa c1 f3 a3 0d 0a 43 11 38 75 52 2d ee 0c 98 42 dc b4 c0 71 ad 1b 8e
216: 22 11 35 d2 af 2c f0 ba 77 81 94 32 1e f4 3e 40 71 17 88 85 d2 27 73 5c
240: 48 16 30 e2 3e da c4 33 0f 11 83 2c 5a 53 5d 87 df a3 d5 ff a9 6a dd 1d
264: f0 8c b1 43 e7 61 8c 2c 56 53 f2 a6 36 2f 85 b8 a7 94 d9 9e 2a 6e 9a 7e
288: a4 dc 62 bc 36 25 71 ab 06 06 04 f8 53 a4 c0 ed bd 2b 55 ed b5 a5 52 80
312: 90 bc 0b d7 51 60 f7 f1 57 7c 26 d9 82 bd 52 26 6c 1c 2f 94 1c 78 47 7e
336: bd bc 31 c8 3c 98 02 8b 34 ba c7 86 77 0f 14 b7 c0 7e 3b c1 0c 0e 56 6c
360: eb 75 23 a5 9d 0b de 2d 81 3f c0 f9 a0 ba 55 18 bc 23 7f c9 54 49 a2 e9
384: 4c 66 41 7a d1 a2 45 49 2f d6 59 4d c0 e9 36 ff c2 3e 70 11 0e 26 51 90
408: 79 fe 16 ff d9 38 49 5c 79 4e 2f c8 da a8 ac c6 54 c3 55 ee b9 ea 38 6d
432: dd 4b 7a e3 d5 32 7d 88 e2 b5 9e 55 fa ff ae 77 e9 aa 6a 8d 21 39 e8 0c
456: f1 df b7 15 85 9b ef be 5d 5f 0d 0a 4a 2a 7d e5 0e 18 e8 54 a2 ba bc 5a
480: 67 3b 8f a4 0e 9e 2f 0b e7 48 7f 56 d4 37 39 55 51 b2 3b 05 64 b9 81 e4
504: 44 c3 3d a2 44 4f 11 d9 ae 48 80 5a a3 d0 36 c6 77 d0 89 7a bc e1 88 14
528: df 2b b0 f8 a3 69 2d fe bb 22 c5 d5 a6 85 f7 ef 19 2d c1 cb 29 e0 d2 e8
552: d2 0c 16 d6 b2 d7 1f 4f e9 14 fc c2 88 64 89 f2 cc da 9a 6a c8 ec 70 20
576: 7c f1 d1 35 b5 a1 77 1c 7f e9 f1 0f 89 9f 08 19 f1 6c fb 72 23 23 9e 61
600: 47 78 fb 24 14 52 c7 9d e2 3c fe d3 63 86 16 0e 5a 96 2b d4 ec dd f0 e8
624: 9f 7e 39 d7 ad 26 ee 2b 9b 76 e9 d3 ee bf 49 f4 96 bb b6 b6 c4 28 20 f7
648: 24 e4 a0 fe a7 2b 07 c1 8e 88 5d 83 c9 ec 0d 0a e8 c9 de d7 54 42 4d b2
672: 9f 88 46 7b a6 be 12 12 48 17 e0 9a 82 77 86 c6 9e 27 76 2c c5 41 4a f1
696: ea ec 2f 29 d3 ef 8b 18 31 36 3b 13 ec fb b7 1e 38 6b ea 83 30 41 aa 1f
720: 67 61 00 1a ca 5f d3 ab fd a6 2a 0d 0a bd 23 66 EOF EOF EOF EOF EOF EOF EOF EOF
744: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
768: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
792: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
816: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
840: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
864: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
888: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
912: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
936: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
960: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
984: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1008: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1032: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1056: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1080: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1104: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1128: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1152: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
1176: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
This seems to continue on forever. I've let it run for several minutes
and it just keeps producing line after line of EOF. The number up
front continues to increment.
If I run it in GDB and Ctrl+C, Here is what I get:
Program received signal SIGINT, Interrupt.
0xb7fe2430 in __kernel_vsyscall ()
(gdb) where
#0 0xb7fe2430 in __kernel_vsyscall ()
#1 0xb7ecce83 in __write_nocancel () at ../sysdeps/unix/syscall-template.S:82
#2 0xb7e761c4 in _IO_new_file_write (f=0xb7f654e0, data=0xb7c6f000, n=106)
at fileops.c:1276
#3 0xb7e75e4f in new_do_write (fp=0xb7f654e0,
data=0xb7c6f000 "161640: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF\n", to_do=106) at fileops.c:530
#4 0xb7e76166 in _IO_new_do_write (fp=0xb7f654e0,
data=0xb7c6f000 "161640: EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF\n", to_do=106) at fileops.c:503
#5 0xb7e76c4d in _IO_new_file_overflow (f=0xb7f654e0, ch=-1) at fileops.c:881
#6 0xb7e75f98 in _IO_new_file_xsputn (f=0xb7f654e0, data=0x80fc5cb, n=1)
at fileops.c:1358
#7 0xb7e4bd1e in _IO_vfprintf_internal (s=0xb7f654e0,
format=0x80fc5cb "\n%4d:", ap=0xbfffec7c "\200w\002") at vfprintf.c:1333
#8 0xb7eefddd in ___fprintf_chk (fp=0xb7f654e0, flag=1,
format=0x80fc5cb "\n%4d:") at fprintf_chk.c:37
#9 0x0806ac99 in fprintf (c=-1, i=0xbfffecfc) at /usr/include/bits/stdio2.h:98
#10 dump_hex_line (c=-1, i=0xbfffecfc) at parse-packet.c:561
#11 0x0806f7ac in skip_packet (inp=0x8126948, pkt=<value optimized out>,
onlykeypkts=<value optimized out>, retpos=0x0, skip=0xbfffedbc, out=0x0,
do_skip=0, dbg_w=0x80fcce8 "parse", dbg_f=0x80fa500 "mainproc.c",
dbg_l=1236) at parse-packet.c:625
#12 parse (inp=0x8126948, pkt=<value optimized out>,
onlykeypkts=<value optimized out>, retpos=0x0, skip=0xbfffedbc, out=0x0,
do_skip=0, dbg_w=0x80fcce8 "parse", dbg_f=0x80fa500 "mainproc.c",
dbg_l=1236) at parse-packet.c:546
#13 0x0806ffd0 in dbg_parse_packet (inp=0x8126948, pkt=0x81246b0,
dbg_f=0x80fa500 "mainproc.c", dbg_l=1236) at parse-packet.c:162
#14 0x08063497 in do_proc_packets (c=0x8128a90, a=<value optimized out>)
at mainproc.c:1236
#15 0x08063909 in proc_packets (anchor=0x0, a=0x8126948) at mainproc.c:1170
#16 0x0805016e in main (argc=1, argv=0xbffff28c) at gpg.c:3983
I've been able to reproduce this on a RHEL4 box as well using version 1.4.9 of gpg. The file causing the issue is attached. It could very well be that the file is corrupt, but I wouldn't expect gpg to behave that way on a corrupted file. If I pass it a non encrypted file, I get a valid error stating it isn't encrypted. I would expect something similar.
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: gnupg 1.4.10-2ubuntu1 [modified: usr/lib/gnupg/gpgkeys_hkp usr/lib/gnupg/gpgkeys_curl]
ProcVersionSignature: Ubuntu 2.6.32-22.36-generic-pae 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic-pae i686
Architecture: i386
Date: Thu Jun 17 08:56:42 2010
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
ProcEnviron:
PATH=(custom, user)
LANG=en_US.utf8
SHELL=/bin/bash
SourcePackage: gnupg
To manage notifications about this bug go to:
https://bugs.launchpad.net/gnupg/+bug/595553/+subscriptions
More information about the foundations-bugs
mailing list