| Remote Vulnerabilties in mod_ntlm
Author : Matthew Murphy<firstname.lastname@example.org>
mod_ntlm is an Apache module (originially designed for Apache 1.3, now
available for Apache 2.0) that provides the ability for Apache services
authenticate users via the NTLM authentication technology that is largely
specific to Microsoft IIS.
Home page: http://www.sourceforge.net/projects/modntlm
mod_ntlm contains a pair of remotely-exploitable vulnerabilities in its
logging routine. The vulnerabilities occur in a default build. The
mod_ntlm "log()" function contains a pair of exploitable error
log(const request_rec * r, const char *format,...)
if ((s = (char *) malloc(2048)) == NULL)
vsprintf(s, format, ap);
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_NOTICE, r, s);
The function is called with user-supplied input in various locations
code. The first vulnerability is a heap overflow -- if any user-supplied
input is greater than 2048 characters, memory management structures are
overwritten, and arbitrary code execution is possible. Secondly, an
incorrect call to ap_log_rerror(). The last parameter to ap_log_rerror()
not a log line, but a format string. Due to the previous decoding
operation, it becomes possible to pass format specifiers to ap_log_rerror().
A carefully crafted format string may allow code execution.
Either of the following two sessions will cause httpd to exit due to
GET / HTTP/1.0
GET / HTTP/1.0
Similarly, a proxy server can be exploited by using an external URL
(http://www.yahoo.com/, for instance), in place of "/", and
Proxy-Authorization, in place of Authorization in the examples above.
Apache 1.3: mod_ntlm v0.4 and prior
Apache 2.0: mod_ntlmv2 v0.1
The vulnerability was submitted to the vendor via SourceForge at:
The vendor has not responded to the bug report as of the time of writing