GNU shtool and ocaml-mysql are vulnerable to symlink attacks, potentially allowing a local user to overwrite arbitrary files.
|Package||dev-util/shtool on all architectures|
|Affected versions||< 2.0.1-r2|
|Unaffected versions||>= 2.0.1-r2|
|Package||dev-ml/ocaml-mysql on all architectures|
|Affected versions||< 1.0.3-r1|
|Unaffected versions||>= 1.0.3-r1|
GNU shtool is a compilation of small shell scripts into a single shell tool. The ocaml-mysql package includes the GNU shtool code.
Eric Romang has discovered that GNU shtool insecurely creates temporary files with predictable filenames (CAN-2005-1751). On closer inspection, Gentoo Security discovered that the shtool temporary file, once created, was being reused insecurely (CAN-2005-1759).
A local attacker could create symbolic links in the temporary files directory, pointing to a valid file somewhere on the filesystem. When a GNU shtool script is executed, this would result in the file being overwritten with the rights of the user running the script, which could be the root user.
There is no known workaround at this time.
All GNU shtool users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-util/shtool-2.0.1-r2"
All ocaml-mysql users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-ml/ocaml-mysql-1.0.3-r1"