A vulnerability in the MLDonkey web interface allows remote attackers to disclose arbitrary files.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| net-p2p/mldonkey | * | < 3.0.0 | >= 3.0.0 |
MLDonkey is a multi-network P2P application written in Ocaml, coming with its own Gtk GUI, web and telnet interface.
Michael Peselnik reported that src/utils/lib/url.ml in the web interface of MLDonkey does not handle file names with leading double slashes properly.
A remote attacker could gain access to arbitrary files readable by the user running the application.
Disable the web interface or restrict access to it.
All MLDonkey users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=net-p2p/mldonkey-3.0.0"
The Gentoo MLDonkey ebuild adds a user to the system with a valid login shell and no password.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| net-p2p/mldonkey | * | < 2.9.0-r3 | >= 2.9.0-r3 |
MLDonkey is a peer-to-peer filesharing client that connects to several different peer-to-peer networks, including Overnet and BitTorrent.
The Gentoo MLDonkey ebuild adds a user to the system named "p2p" so that the MLDonkey service can run under a user with low privileges. With older Portage versions this user is created with a valid login shell and no password.
A remote attacker could log into a vulnerable system as the p2p user. This would require an installed login service that permitted empty passwords, such as SSH configured with the "PermitEmptyPasswords yes" option, a local login console, or a telnet server.
See Resolution.
Change the p2p user's shell to disallow login. For example, as root run the following command:
# usermod -s /bin/false p2p
NOTE: updating to the current MLDonkey ebuild will not remove this vulnerability, it must be fixed manually. The updated ebuild is to prevent this problem from occurring in the future.