Re: URGENT: RNG broken for last 4 months
John-Mark Gurney j...@funkthat.com wrote: Oliver Pinter wrote this message on Tue, Feb 17, 2015 at 23:27 +0100: On Tue, Feb 17, 2015 at 11:19 PM, Fabian Keil freebsd-lis...@fabiankeil.de wrote: John-Mark Gurney j...@funkthat.com wrote: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I tried ... start_init: trying /sbin/init 118[20] Setting hostuuid: [...] 118[20] Setting hostid: [... [20] [20] [20] Fatal trap 12: page fault while in kernel mode [...] So, this should now be fixed w/: Committed revision 278927. Works for me. Thanks. Fabian pgp_5WOGke3Xn.pgp Description: OpenPGP digital signature
Re: URGENT: RNG broken for last 4 months
Oliver Pinter wrote this message on Tue, Feb 17, 2015 at 23:27 +0100: On Tue, Feb 17, 2015 at 11:19 PM, Fabian Keil freebsd-lis...@fabiankeil.de wrote: John-Mark Gurney j...@funkthat.com wrote: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I tried ... start_init: trying /sbin/init 118[20] Setting hostuuid: [...] 118[20] Setting hostid: [... [20] [20] [20] Fatal trap 12: page fault while in kernel mode [20] cpuid = 1; apic id = 01 [20] fault virtual address = 0xf7ff1defb51c [20] fault code = supervisor read data, page not present [20] instruction pointer= 0x20:0x819eaed5 [20] stack pointer = 0x28:0xfe009397b890 [20] frame pointer = 0x28:0xfe009397b8d0 [20] code segment = base 0x0, limit 0xf, type 0x1b [20]= DPL 0, pres 1, long 1, def32 0, gran 1 [20] processor eflags = interrupt enabled, resume, IOPL = 0 [20] current process= 43 (zfs) [...] ) at pcpu.h:219 219 pcpu.h: No such file or directory. in pcpu.h (kgdb) where #0 doadump (textdump=Unhandled dwarf expression opcode 0x93 ) at pcpu.h:219 #1 0x8031539e in db_dump (dummy=value optimized out, dummy2=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_command.c:533 #2 0x80314e7c in db_command (cmd_table=0x0) at /usr/src/sys/ddb/db_command.c:440 #3 0x80314be4 in db_command_loop () at /usr/src/sys/ddb/db_command.c:493 #4 0x803177a0 in db_trap (type=value optimized out, code=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_main.c:251 #5 0x805ff8ee in kdb_trap (type=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/kern/subr_kdb.c:654 #6 0x80889db9 in trap_fatal (frame=0xfe009397b7e0, eva=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:856 #7 0x8088a131 in trap_pfault (frame=0xfe009397b7e0, usermode=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:678 #8 0x8088976e in trap (frame=0xfe009397b7e0) at /usr/src/sys/amd64/amd64/trap.c:426 #9 0x8086cd82 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:235 #10 0x819eaed5 in vdev_mirror_dva_select (zio=0xf80006549398, p=-974039959) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:317 #11 0x819eae4a in vdev_mirror_preferred_child_randomize (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:334 #12 0x819eaba1 in vdev_mirror_child_select (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:404 #13 0x819ea177 in vdev_mirror_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:460 #14 0x81a1d73d in zio_vdev_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:2680 #15 0x81a19c14 in zio_execute (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1499 #16 0x81a18945 in zio_wait (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1523 #17 0x81938db2 in arc_read (pio=0x0, spa=0xf8000634e000, bp=0xf800065c5048, done=0x81937ae0 arc_getbuf_func, private=0xf800065c9410, priority=ZIO_PRIORITY_SYNC_READ, zio_flags=128, arc_flags=0xfe009397c004, zb=0xfe009397bfe0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:3610 #18 0x81964326 in dmu_objset_open_impl (spa=0xf8000634e000, ds=0x0, bp=0xf800065c5048, osp=0xf800065c5008) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c:307 #19 0x81991404 in dsl_pool_init (spa=0xf8000634e000, txg=1056266109, dpp=0xf8000634e2e8) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c:282 #20 0x819c8b08 in spa_load_impl (spa=0xf8000634e000, pool_guid=4830954193867998892, config=0xf80002599ee0, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0, ereport=0xfe009397c4e0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2406 #21 0x819c0987 in spa_load (spa=0xf8000634e000, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2178 #22 0x819bfda9 in spa_load_best (spa=0xf8000634e000, state=SPA_LOAD_OPEN, mosconfig=0, max_request=18446744073709551615, rewind_flags=1) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2903 #23 0x819babe9 in spa_open_common (pool=0xfe0003232000 tank,
Re: URGENT: RNG broken for last 4 months
On 17 February 2015 at 13:15, Ed Maste ema...@freebsd.org wrote: One other point - this only applies to keys generated while running on a kernel in that range. If you previously generated keys and then upgraded to r273872 or later there's no concern with respect to key randomness from this issue. One further followup, it's been pointed out that a lack of entropy can leak DSA private key material. See for example: http://rdist.root.org/2010/11/19/dsa-requirements-for-random-k-value/ https://www.imperialviolet.org/2013/06/15/suddendeathentropy.html In other words, an existing key does not become less random as a result of this flaw (which is the point I was trying to make), but it the flaw could cause it to be exposed. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: URGENT: RNG broken for last 4 months
On 17 February 2015 at 12:37, John-Mark Gurney j...@funkthat.com wrote: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. One other point - this only applies to keys generated while running on a kernel in that range. If you previously generated keys and then upgraded to r273872 or later there's no concern with respect to key randomness from this issue. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
URGENT: RNG broken for last 4 months
If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I discovered an issue where the new framework code was not calling randomdev_init_reader, which means that read_random(9) was not returning good random data. read_random(9) is used by arc4random(9) which is the primary method that arc4random(3) is seeded from. This means most/all keys generated may be predictable and must be regenerated. This includes, but not limited to, ssh keys and keys generated by openssl. This is purely a kernel issue, and a simple kernel upgrade w/ the patch is sufficient to fix the issue. -- John-Mark Gurney Voice: +1 415 225 5579 All that I will do, has been done, All that I have, has not. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: URGENT: RNG broken for last 4 months
John-Mark Gurney wrote this message on Tue, Feb 17, 2015 at 09:37 -0800: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I discovered an issue where the new framework code was not calling randomdev_init_reader, which means that read_random(9) was not returning good random data. read_random(9) is used by arc4random(9) which is the primary method that arc4random(3) is seeded from. This means most/all keys generated may be predictable and must be regenerated. This includes, but not limited to, ssh keys and keys generated by openssl. This is purely a kernel issue, and a simple kernel upgrade w/ the patch is sufficient to fix the issue. It was brought to my attention (thanks Juli) that it might not be clear that this issue does not effect any released version of FreeBSD. It only effects people who run -current. -- John-Mark Gurney Voice: +1 415 225 5579 All that I will do, has been done, All that I have, has not. ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: URGENT: RNG broken for last 4 months
John-Mark Gurney j...@funkthat.com wrote: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I tried ... start_init: trying /sbin/init 118[20] Setting hostuuid: [...] 118[20] Setting hostid: [... [20] [20] [20] Fatal trap 12: page fault while in kernel mode [20] cpuid = 1; apic id = 01 [20] fault virtual address = 0xf7ff1defb51c [20] fault code = supervisor read data, page not present [20] instruction pointer= 0x20:0x819eaed5 [20] stack pointer = 0x28:0xfe009397b890 [20] frame pointer = 0x28:0xfe009397b8d0 [20] code segment = base 0x0, limit 0xf, type 0x1b [20]= DPL 0, pres 1, long 1, def32 0, gran 1 [20] processor eflags = interrupt enabled, resume, IOPL = 0 [20] current process= 43 (zfs) [...] ) at pcpu.h:219 219 pcpu.h: No such file or directory. in pcpu.h (kgdb) where #0 doadump (textdump=Unhandled dwarf expression opcode 0x93 ) at pcpu.h:219 #1 0x8031539e in db_dump (dummy=value optimized out, dummy2=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_command.c:533 #2 0x80314e7c in db_command (cmd_table=0x0) at /usr/src/sys/ddb/db_command.c:440 #3 0x80314be4 in db_command_loop () at /usr/src/sys/ddb/db_command.c:493 #4 0x803177a0 in db_trap (type=value optimized out, code=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_main.c:251 #5 0x805ff8ee in kdb_trap (type=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/kern/subr_kdb.c:654 #6 0x80889db9 in trap_fatal (frame=0xfe009397b7e0, eva=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:856 #7 0x8088a131 in trap_pfault (frame=0xfe009397b7e0, usermode=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:678 #8 0x8088976e in trap (frame=0xfe009397b7e0) at /usr/src/sys/amd64/amd64/trap.c:426 #9 0x8086cd82 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:235 #10 0x819eaed5 in vdev_mirror_dva_select (zio=0xf80006549398, p=-974039959) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:317 #11 0x819eae4a in vdev_mirror_preferred_child_randomize (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:334 #12 0x819eaba1 in vdev_mirror_child_select (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:404 #13 0x819ea177 in vdev_mirror_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:460 #14 0x81a1d73d in zio_vdev_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:2680 #15 0x81a19c14 in zio_execute (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1499 #16 0x81a18945 in zio_wait (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1523 #17 0x81938db2 in arc_read (pio=0x0, spa=0xf8000634e000, bp=0xf800065c5048, done=0x81937ae0 arc_getbuf_func, private=0xf800065c9410, priority=ZIO_PRIORITY_SYNC_READ, zio_flags=128, arc_flags=0xfe009397c004, zb=0xfe009397bfe0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:3610 #18 0x81964326 in dmu_objset_open_impl (spa=0xf8000634e000, ds=0x0, bp=0xf800065c5048, osp=0xf800065c5008) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c:307 #19 0x81991404 in dsl_pool_init (spa=0xf8000634e000, txg=1056266109, dpp=0xf8000634e2e8) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c:282 #20 0x819c8b08 in spa_load_impl (spa=0xf8000634e000, pool_guid=4830954193867998892, config=0xf80002599ee0, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0, ereport=0xfe009397c4e0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2406 #21 0x819c0987 in spa_load (spa=0xf8000634e000, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2178 #22 0x819bfda9 in spa_load_best (spa=0xf8000634e000, state=SPA_LOAD_OPEN, mosconfig=0, max_request=18446744073709551615, rewind_flags=1) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2903 #23 0x819babe9 in spa_open_common (pool=0xfe0003232000 tank, spapp=0xfe009397c6f0, tag=0x81ade789, nvpolicy=0x0, config=0x0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:3026 #24 0x819bafcb in spa_open (name=0xfe0003232000 tank, spapp=0xfe009397c6f0, tag=0x81ade789) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:3111
Re: URGENT: RNG broken for last 4 months
On Tue, Feb 17, 2015 at 11:19 PM, Fabian Keil freebsd-lis...@fabiankeil.de wrote: John-Mark Gurney j...@funkthat.com wrote: If you are running a current kernel r273872 or later, please upgrade your kernel to r278907 or later immediately and regenerate keys. I tried ... start_init: trying /sbin/init 118[20] Setting hostuuid: [...] 118[20] Setting hostid: [... [20] [20] [20] Fatal trap 12: page fault while in kernel mode [20] cpuid = 1; apic id = 01 [20] fault virtual address = 0xf7ff1defb51c [20] fault code = supervisor read data, page not present [20] instruction pointer= 0x20:0x819eaed5 [20] stack pointer = 0x28:0xfe009397b890 [20] frame pointer = 0x28:0xfe009397b8d0 [20] code segment = base 0x0, limit 0xf, type 0x1b [20]= DPL 0, pres 1, long 1, def32 0, gran 1 [20] processor eflags = interrupt enabled, resume, IOPL = 0 [20] current process= 43 (zfs) [...] ) at pcpu.h:219 219 pcpu.h: No such file or directory. in pcpu.h (kgdb) where #0 doadump (textdump=Unhandled dwarf expression opcode 0x93 ) at pcpu.h:219 #1 0x8031539e in db_dump (dummy=value optimized out, dummy2=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_command.c:533 #2 0x80314e7c in db_command (cmd_table=0x0) at /usr/src/sys/ddb/db_command.c:440 #3 0x80314be4 in db_command_loop () at /usr/src/sys/ddb/db_command.c:493 #4 0x803177a0 in db_trap (type=value optimized out, code=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/ddb/db_main.c:251 #5 0x805ff8ee in kdb_trap (type=Unhandled dwarf expression opcode 0x93 ) at /usr/src/sys/kern/subr_kdb.c:654 #6 0x80889db9 in trap_fatal (frame=0xfe009397b7e0, eva=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:856 #7 0x8088a131 in trap_pfault (frame=0xfe009397b7e0, usermode=value optimized out) at /usr/src/sys/amd64/amd64/trap.c:678 #8 0x8088976e in trap (frame=0xfe009397b7e0) at /usr/src/sys/amd64/amd64/trap.c:426 #9 0x8086cd82 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:235 #10 0x819eaed5 in vdev_mirror_dva_select (zio=0xf80006549398, p=-974039959) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:317 #11 0x819eae4a in vdev_mirror_preferred_child_randomize (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:334 #12 0x819eaba1 in vdev_mirror_child_select (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:404 #13 0x819ea177 in vdev_mirror_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c:460 #14 0x81a1d73d in zio_vdev_io_start (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:2680 #15 0x81a19c14 in zio_execute (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1499 #16 0x81a18945 in zio_wait (zio=0xf80006549398) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c:1523 #17 0x81938db2 in arc_read (pio=0x0, spa=0xf8000634e000, bp=0xf800065c5048, done=0x81937ae0 arc_getbuf_func, private=0xf800065c9410, priority=ZIO_PRIORITY_SYNC_READ, zio_flags=128, arc_flags=0xfe009397c004, zb=0xfe009397bfe0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c:3610 #18 0x81964326 in dmu_objset_open_impl (spa=0xf8000634e000, ds=0x0, bp=0xf800065c5048, osp=0xf800065c5008) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c:307 #19 0x81991404 in dsl_pool_init (spa=0xf8000634e000, txg=1056266109, dpp=0xf8000634e2e8) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c:282 #20 0x819c8b08 in spa_load_impl (spa=0xf8000634e000, pool_guid=4830954193867998892, config=0xf80002599ee0, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0, ereport=0xfe009397c4e0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2406 #21 0x819c0987 in spa_load (spa=0xf8000634e000, state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2178 #22 0x819bfda9 in spa_load_best (spa=0xf8000634e000, state=SPA_LOAD_OPEN, mosconfig=0, max_request=18446744073709551615, rewind_flags=1) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2903 #23 0x819babe9 in spa_open_common (pool=0xfe0003232000 tank, spapp=0xfe009397c6f0, tag=0x81ade789, nvpolicy=0x0, config=0x0) at /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:3026 #24 0x819bafcb