Home / vulnerabilities CORE-2006-1127.txt
Posted on 15 December 2006
Source : packetstormsecurity.org Link
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Core Security Technologies - Corelabs Advisory
http://www.coresecurity.com/corelabs/
ProFTPD Controls Buffer Overflow
Date Published: 2006-12-13
Last Update: 2006-12-12
Advisory ID: CORE-2006-1127
Bugtraq ID: None currently assigned
CVE Name: None currently assigned
Title: ProFTPD Controls Buffer Overflow
Class: Boundary Error Condition (Buffer Overflow)
Remotely Exploitable: No
Locally Exploitable: Yes
Advisory URL:
http://www.coresecurity.com/?module=ContentMod&action=item&id=1594
Vendors contacted:
ProFTPD
- - CORE notification: 2006-11-30
- - Notification acknowledged by ProFTPD maintainers: 2006-11-30
- - Technical details sent to ProFTPD maintainers: 2006-11-30
- - ProFTPD team produces a patch for this issue: 2006-12-08
- - Fixed ProFTPD version publicly available: 2006-12-12
- - CORE advisory release: 2006-12-13
Release Mode: COORDINATED RELEASE
*Vulnerability Description*
A locally exploitable stack overflow vulnerability has been found in
the mod_ctrls module of ProFTPD server.
ProFTPD is a commonly used and highly configurable FTP server for Unix
and Windows systems. This server is available as an optional package
in most recent Linux distributions, including Debian (sid), Mandriva
2007 and Ubuntu Edgy. For more information concerning ProFTPD, refer to
the site http://www.proftpd.org/
The vulnerability is located in the "Controls" module. This is an
optional feature of ProFTPD server, that must be activated in the
configuration file. Controls are a way to communicate directly with
a standalone ProFTPD daemon while it is running. This provides
administrators a way to alter the daemon's behavior in real time,
without having to restart the daemon and have it re-read its
configuration. The Controls feature allow authorized users to locally
manage parameters of the ProFTPD servers, like aborting connections,
managing users, changing log levels, disabling individual virtual
servers, etc.
The vulnerability allows local attackers with access to the Controls
features (and who have been allowed by Controls ACLs in proftpd.conf)
to gain root privileges.
*Vulnerable Packages*
ProFTPD 1.3.0a
ProFTPD 1.3.0
(Older packages are also possibly vulnerable)
*Solution/Vendor Information/Workaround*
As a workaournd, turn off the module mod_ctrls, with the following lines
added to proftpd.conf:
<IfModule mod_ctrls.c>
ControlsEngine off
</IfModule>
Alternatively, administrators can use the ControlsACLs directive in
proftpd.conf to restrict access only to trusted local users.
Version 1.3.1rc1 of ProFTPD, which fixes this issue, is available on the
ProFTPD site (http://www.proftpd.org/).
*Credits*
This vulnerability was found by Alfredo Ortega from Core Security
Technologies.
We wish to thank TJ Saunders from the ProFTPD team for his quick
response to this issue.
*Technical Description - Exploit/Concept Code*
The vulnerability exists in pr_ctrls_recv_request() function from
src/ctrls.c
Analysis of the vulnerability follows:
- ----------------------------------------------------
(Code from ProFTPD 1.3.0a, src/ctrls.c )
int pr_ctrls_recv_request(pr_ctrls_cl_t *cl) {
pr_ctrls_t *ctrl = NULL, *next_ctrl = NULL;
char reqaction[512] = {'