Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 189879 - net-analyzer/nessus-bin requires <dev-libs/openssl-0.9.8
Summary: net-analyzer/nessus-bin requires <dev-libs/openssl-0.9.8
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
Depends on: 187219
Blocks:
  Show dependency tree
 
Reported: 2007-08-22 20:55 UTC by Thomas Guyot
Modified: 2008-05-15 11:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
nessus-bin-3.0.6-r1.ebuild with fixed openssl links (nessus-bin-3.0.6-r1.ebuild,2.34 KB, text/plain)
2008-03-11 08:04 UTC, Anton Bolshakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Guyot 2007-08-22 20:55:00 UTC
The nessus-bin ebuild specify a dependency for dev-libs/openssl, but since it's a binary pakage it specifically require <dev-libs/openssl-0.9.8 (linked against openssl-0.9.7)

It should either handle properly the dependency and downgrade openssl (which I did) or use a binary version linked against openssl-0.9.8 if it exists (and force <=dev-libs/openssl-0.9.8 or course).

Reproducible: Always

Steps to Reproduce:
1. Install a brand new system (Mine is built around the hardened/2.6 i686 Stage3/profile)
2. Emerge net-analyzer/nessus-bin
3. Run nessusd

Actual Results:  
Unhappy user (nessusd: error while loading shared libraries: libssl.so.0.9.7: cannot open shared object file: No such file or directory)


Expected Results:  
Happy user

Temporary fix:

# emerge '<dev-libs/openssl-0.9.8'
# revdep-rebuild
Comment 1 Thomas Guyot 2007-09-12 13:27:08 UTC
I just noticed that the "greater than or equal" sign is wrong in the 2nd paragraph. It should be:

"[...] or use a binary version linked against openssl-0.9.8 if it exists (and
force >=dev-libs/openssl-0.9.8 or course)."
Comment 2 Thomas Guyot 2007-11-21 18:57:56 UTC
News on this. After I noticed people using fedora were using symlinks to link to redhat's lib{crypto,ssl}.so.6 (which is OpenSSL 0.9.8) so I tried symlinking to 0.9.8 and it works!

After upgrading to 0.9.8, revdep-rebuild and removing old 0.9.7 libs:

ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.0.9.7
ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7

Nessus daemon and command-line client runs and ssl communication works between them.

Maybe this could at least be added as a comment after emerging, of even creating the symlink when installing...
Comment 3 Anton Bolshakov 2008-03-11 02:20:42 UTC
Please try to reemerge openssl (I have dev-libs/openssl-0.9.8g). It should install different binaries and not the symlinks of these libraries:

ls -al /usr/lib/libssl.so*
lrwxrwxrwx 1 root root     15 2007-11-09 09:31 /usr/lib/libssl.so -> libssl.so.0.9.8
-r-xr-xr-x 1 root root 164464 2007-11-09 09:31 /usr/lib/libssl.so.0.9.7
-r-xr-xr-x 1 root root 283236 2007-11-09 09:31 /usr/lib/libssl.so.0.9.8

equery f openssl | grep libssl.so
/usr/lib/libssl.so
/usr/lib/libssl.so.0.9.7
/usr/lib/libssl.so.0.9.8
Comment 4 Thomas Guyot 2008-03-11 06:14:43 UTC
The libssl.so.0.9.7 file is left behind after upgrades from 0.9.7 to 0.9.8 and is vulnerable to any security bug of that 0.9.7 release.

If you remove libssl.so.0.9.7 it won't re-appear when you emerge openssl-0.9.8. You're also getting notified by emerge when it leaves old libs behind: from your ebuild:

pkg_preinst() {
	preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
}

pkg_postinst() {
	preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
 [...]
Comment 5 Anton Bolshakov 2008-03-11 08:03:01 UTC
(In reply to comment #4)
> The libssl.so.0.9.7 file is left behind after upgrades from 0.9.7 to 0.9.8 and
> is vulnerable to any security bug of that 0.9.7 release.

you are right! I had vulnerable binaries in my system :(
Ok, I've uploaded an uploaded ebuild to the sectools overlay.

Question:
Currently, we do:
dosym /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7
Is any way to detect the current version of openssl from the nessus-bin ebuild?
Comment 6 Anton Bolshakov 2008-03-11 08:04:14 UTC
Created attachment 145797 [details]
nessus-bin-3.0.6-r1.ebuild with fixed openssl links
Comment 7 Thomas Guyot 2008-04-24 15:10:12 UTC
FYI, in Bug 187219 a new ebuild for a newer version has been submitted and it use RedHat's RPM which is built against OpenSSL 0.9.8.

I guess we could make this bug depend on it. They do not specify the openssl version in their ebuild though which could lead to future problems....
Comment 8 Anton Bolshakov 2008-04-24 23:24:40 UTC
Yes, go ahead and mark it.

The new redhat version depends on different name of binaries and we do:

dosym /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6
dosym /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6

So we expect it to fail if *.so.0.9.8 libraries don't exist.
Comment 9 Anton Bolshakov 2008-05-15 05:18:52 UTC
Thomas, 

the new version of nessus-bin is in the portage. Please verify and close this bug if the problem solved.
Comment 10 Thomas Guyot 2008-05-15 11:35:14 UTC
I don't have that test system anymore, but since it's using the RedHat version it depends on symlinks (RH uses different library names for openssl). That version is build against 0.9.8 though.

Marking as closed as there's nothing that can make me think it isn't.