OpenSSH 3.7.1
Wczoraj wieczorem ukazało się drugie advisory do OpenSSH. Jak można przeczytać zalecane jest zaktualizowanie do wersji 3.7.1 lub skorzystanie z poprawki.
Oto fragment rozmowy IRC opisujący typ problemu, który wystąpił w OpenSSH.
23:07 < gorion> to zwykły heap overflow jest.
23:09 < gorion> 32ko ovf z \0, gdzieś tam widziałem buffer->alloc become > 0xa0000
23:10 < gorion> czyli fatal() wywoływany
23:11 < gorion> bo buffer->alloc > wielkość buffera -> buffer w strkuturze * i fatal leci cleanup.
23:12 < gorion> a któryś z tych cleanup’ów to packet_close, czyli buffer_free robi
memset(buffer->buf, ‚\0’, buffer->alloc)
23:12 < gorion> a tu jest 32k wartości ‚\0’
23:13 < gorion> jak malloc wraca null to xrealloc call fatal() można też próbować exploitować.
23:14 < gorion> tylko że w kernelach 2.4 sys_brk nigdy nie wraca null
Nowe advisory można poczytać pod tym adresem http://www.openssh.com/txt/buffer.adv, zaś nową wersje OpenSSH można pobrać stąd.