Java è vulnerabile alla vulnerabilità GHOST di glibc in Linux?

10

Vedo sulla nostra piattaforma Linux RedHat che il processo "java" ha dipendenza dalla libreria glibc:

[root@hpproliant1 ~]# ldd /usr/bin/java
linux-gate.so.1 =>  (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7f77000)
libjli.so => /usr/java/32bit/jre1.6.0_26/bin/../lib/i386/jli/libjli.so (0xf7f6e000)
libdl.so.2 => /lib/libdl.so.2 (0xf7f69000)
libc.so.6 => /lib/libc.so.6 (0xf7e11000)
/lib/ld-linux.so.2 (0xf7f97000)

Le API Java chiamano lebc funzioni indirettamente problematiche? In caso affermativo, jvm utilizza la funzione vulnerabile in modo vulnerabile?

    
posta Mert Z. 30.01.2015 - 19:55
fonte

1 risposta

6

È possibile.

Le due funzioni vulnerabili in glibc sono gethostbyname e gethostbyname2. Hai notato che java è collegato a glibc, ma per essere anche vulnerabile deve collegarsi a queste funzioni specifiche.

È possibile eseguire la scansione del file binario ELF e consultare le librerie collegate con il programma stesso.

È appena uscito che procmail è vulnerabile, controlliamo che questo approccio funzioni con un programma vulnerabile noto.

readelf --dyn-syms /usr/bin/procmail |grep gethostbyname
    46: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND gethostbyname@GLIBC_2.2.5 (2

E lo fa!

Se puoi eseguire l'eseguibile di jvm, non troverai riferimenti a gethostbyname.

Se esegui la scansione delle librerie incluse con java, dovrai:

readelf --dyn-sym libdt_socket.so |grep gethostbyname
    19: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND gethostbyname@GLIBC_2.2.5 (4)

Se questo è sfruttabile o meno richiede ulteriori analisi. Ma fino a prova contraria, dovresti aggiornare la tua libreria glibc.

    
risposta data 31.01.2015 - 00:11
fonte

Leggi altre domande sui tag