Protect yourself against future threats.
-----BEGIN PGP SIGNED MESSAGE----- =========================================================================== AUSCERT External Security Bulletin Redistribution ESB-2000.402 -- OpenBSD Security Advisory Single-byte buffer overflow vulnerability in ftpd 21 December 2000 =========================================================================== AusCERT Security Bulletin Summary --------------------------------- Product: ftpd Vendor: OpenBSD Operating System: OpenBSD NetBSD Impact: Root Compromise Access Required: Remote - --------------------------BEGIN INCLUDED TEXT-------------------- - ---------------------------------------------------------------------------- OpenBSD Security Advisory December 18, 2000 Single-byte buffer overflow vulnerability in ftpd - ---------------------------------------------------------------------------- SYNOPSIS A relatively obscure one-byte buffer overflow bug present in ftpd(8) turns out to be a serious problem, yielding remote users root access under certain conditions. For a system to be vulnerable, ftpd must have been explicitly enabled by the administrator (OpenBSD ships with it OFF by default) and the attacker must have write access to at least one directory. Therefore, anonymous read-only FTP servers are safe (we recommend applying the patch regardless, of course). Non-anonymous FTP administrators should seriously consider using a more secure transport like SSH. A fix for this problem was committed on December 4th. OpenBSD developers became aware of a publicly available exploit on December 17th. - ---------------------------------------------------------------------------- AFFECTED SYSTEMS This vulnerability affects OpenBSD versions through 2.8. FreeBSD is reportedly not vulnerable. NetBSD is vulnerable to the same bug and a patch was applied to their tree on December 14th. - ---------------------------------------------------------------------------- TECHNICAL DETAILS The offending code is as follows: char npath[MAXPATHLEN]; int i; for (i = 0; *name != '