FS#14016 - [swi-prolog] insecure RPATH
Attached to Project:
Arch Linux
Opened by Gerardo Exequiel Pozzi (djgera) - Sunday, 29 March 2009, 21:15 GMT
Last edited by Andrea Scarpino (BaSh) - Thursday, 18 June 2009, 22:36 GMT
Opened by Gerardo Exequiel Pozzi (djgera) - Sunday, 29 March 2009, 21:15 GMT
Last edited by Andrea Scarpino (BaSh) - Thursday, 18 June 2009, 22:36 GMT
|
Details
Description:
The file /usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so has an insecure RPATH (empty) $ readelf -d /usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so | grep RPATH 0x0000000f (RPATH) Library rpath: [/usr/lib:] Additional info: swi-prolog-5.6.64-1 |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Thursday, 18 June 2009, 22:36 GMT
Reason for closing: Fixed
Additional comments about closing: swi-prolog-5.6.64-2
Thursday, 18 June 2009, 22:36 GMT
Reason for closing: Fixed
Additional comments about closing: swi-prolog-5.6.64-2
Also namcap detect some missing deps (are as makedepends, but should be as depends)
swi-prolog E: Dependency detected and not included (libjpeg) from files ['usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so']
swi-prolog E: Dependency detected and not included (unixodbc) from files ['usr/lib/pl-5.6.64/lib/i686-linux/odbc4pl.so']
swi-prolog E: Dependency detected and not included (openssl) from files ['usr/lib/pl-5.6.64/lib/i686-linux/ssl4pl.so']
swi-prolog E: Dependency detected and not included (libxpm) from files ['usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so']
swi-prolog E: Dependency detected and not included (libxinerama) from files ['usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so']
swi-prolog E: Dependency detected and not included (libxft) from files ['usr/lib/pl-5.6.64/xpce-6.6.64/lib/i686-linux/pl2xpce.so']
swi-prolog/src/pl-5.6.64/src/mkvmi.c:102: error: static declaration of 'strndup' follows non-static declaration
just comment an already defined function strndup() in string.h
Whats insecure about an empty rpath?
Not really big problem. An empty rpath allow libraries to load from current directory. For example:
$ gcc hola.c -Wl,-rpath, -o hola -lm
$ LD_DEBUG=libs LD_TRACE_OBJECTS=yes ./hola
4051: find library=libm.so.6 [0]; searching
4051: search path=tls/i686/sse2:tls/i686:tls/sse2:tls:i686/sse2:i686:sse2: (RPATH from file ./hola)
4051: trying file=tls/i686/sse2/libm.so.6
4051: trying file=tls/i686/libm.so.6
4051: trying file=tls/sse2/libm.so.6
4051: trying file=tls/libm.so.6
4051: trying file=i686/sse2/libm.so.6
4051: trying file=i686/libm.so.6
4051: trying file=sse2/libm.so.6
4051: trying file=libm.so.6
4051: search cache=/etc/ld.so.cache
4051: trying file=/lib/libm.so.6