FreeBSD Ports Security Advisory: FreeBSD-SA-00:26.popper
Jul 06, 2000, 19:40 (0 Talkback[s])
Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame
Date: Wed, 5 Jul 2000 16:04:15 -0700
From: FreeBSD Security Advisories email@example.com
Subject: FreeBSD Ports Security Advisory:
-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-SA-00:26 Security Advisory
Topic: popper port contains remote vulnerability
Affects: Ports collection.
Vendor status: Notified
FreeBSD only: NO
QPopper is a popular POP3 mail server.
II. Problem Description
The popper port, version 2.53 and earlier, incorrectly parses
string formatting operators included in part of the email message
header. A remote attacker can send a malicious email message to a
local user which can cause arbitrary code to be executed on the
server when a POP client retrieves the message using the UIDL
command. The code is executed as the user who is retrieving mail:
thus if root reads email via POP3 this can lead to a root
The popper port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 3400 third-party applications in a ready-to-install
format. The ports collection shipped with FreeBSD 4.0 contains this
problem since it was discovered after the release, but it was fixed
in time for FreeBSD 3.5.
FreeBSD makes no claim about the security of these third-party
applications, although an effort is underway to provide a security
audit of the most security-critical ports.
Remote users can cause arbitrary code to be executed as the
retrieving user when a POP client retrieves email.
If you have not chosen to install the popper port/package, then
your system is not vulnerable to this problem.
Deinstall the popper port/package, if you you have installed
One of the following:
1) Upgrade your entire ports collection and rebuild the popper
2) Deinstall the old package and install a new package dated
after the correction date, obtained from:
3) download a new port skeleton for the popper port from:
and use it to rebuild the port.
4) Use the portcheckout utility to automate option (3) above.
The portcheckout port is available in /usr/ports/devel/portcheckout
or the package can be obtained from:
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----