Maintainers of the open-source Apache webserver are warning that their HTTP daemon is vulnerable to exploits that expose internal servers to remote attackers who embed special commands in website addresses.
The weakness in 1.3 and all 2.x versions of the Apache HTTP Server can be exploited only under certain conditions. For one, they must be running in reverse proxy mode, a setting often used to perform load balancing or to separate static content from dynamic content. And even then, internal systems are susceptible to unauthorized access only when certain types of reverse proxy rewrite rules are used.
Nonetheless, the vulnerable reverse proxy configurations are common enough that Apache maintainers issued an advisory on Wednesday recommending users examine their systems to make sure they're not at risk.
"When using the RewriteRule or ProxyPassMatch directives to configure a reverse proxy using a pattern match, it is possible to inadvertently expose internal servers to remote users who send carefully crafted requests," the advisory stated. "The server did not validate that the input to the pattern match was a valid path string, so a pattern could expand to an unintended target URL."
The vulnerability was reported by Context Information Security, an information security consultancy with offices in London, among other cities. In a blog post, researchers with the company said the weakness can be exploited to gain unauthorized access to a highly sensitive DMZ, or "demilitarized zone" resources inside an organization that should be available only to validated users.
"We can access any internal/DMZ system which the proxy can access including administration interfaces on firewalls, routers, web servers, databases etc.," they wrote. "Context has had plenty of success with this attack where credentials are weak on the internal systems allowing for full network compromise e.g. uploading Trojan WAR files on to JBoss servers."
In a press release, Context said the researchers believe other webservers and proxies may be susceptible to similar exploits.
Apache issued a patch for those who compile their own installations of the webserver. It wouldn't be surprising to see Linux distributions release their own security updates in the next few days. Apache's advisory also contains suggestions for writing proxy rules that prevent the attack from working.
Adding a simple forward slash to certain configurations, for example, will go a long way to protecting sensitive systems. The line is "RewriteRule (.*)\.(jpg|gif|png)" could expose internal servers, while the line "RewriteRule /(.*)\.(jpg|gif|png)" (note the extra "/") will ensure they remain protected.
Security researcher Dan Rosenberg echoed the warning that the damage resulting from a poorly configured proxy server could be catastrophic and that the risk could extend well beyond those who use Apache.
"In the worst case, this could result in a remote attacker being able to read sensitive contents from internal web resources," he wrote in an email. "I wouldn't be *too* surprised if reverse proxy mechanisms in other web servers are affected, but the bug is fairly implementation specific, so there's no way to know without testing." ®