-*- coding: utf-8 -*-
Changes with Apache 2.2.14
+ *) CVE-2009-3095: mod_proxy_ftp sanity check authn credentials.
+ [Stefan Fritsch <sf fritsch.de>, Joe Orton]
+
*) CVE-2009-3094: mod_proxy_ftp NULL pointer dereference on error paths.
[Stefan Fritsch <sf fritsch.de>, Joe Orton]
if ((password = apr_table_get(r->headers_in, "Authorization")) != NULL
&& strcasecmp(ap_getword(r->pool, &password, ' '), "Basic") == 0
&& (password = ap_pbase64decode(r->pool, password))[0] != ':') {
+ /* Check the decoded string for special characters. */
+ if (!ftp_check_string(password)) {
+ return ap_proxyerror(r, HTTP_BAD_REQUEST,
+ "user credentials contained invalid character");
+ }
/*
* Note that this allocation has to be made from r->connection->pool
* because it has the lifetime of the connection. The other