Microsoft has issued a temporary fix for a cryptographic weakness in widely used web development software that allows attackers to read password files and other sensitive data.
The workaround issued late Friday addresses what is known as a “cryptographic padding oracle” in ASP.Net, a series of web development programs that run on top of Microsoft's Internet Information Services, or IIS. The weakness, which was demonstrated last week at the Ekoparty conference in Argentina, makes it possible for outsiders to read or tamper with sensitive data that is supposed to remain encrypted.
In cryptography parlance, an oracle is something that unintentionally reveals subtle clues about the encrypted contents. The vulnerability in ASP.Net can be exploited by sending a server huge numbers of queries and then analyzing the differing error messages that result. By repeating the process over and over, attackers can read the ASP.Net View State, which is used to keep track of changes made to web forms. The View State page, which can be used to store passwords, database connection strings and other sensitive data, is supposed to remain unreadable.
By tricking ASP.Net into revealing hints about the padding used to encrypt the data, attackers can eventually read or tamper with encrypted data sitting on a server running the web applications.
Microsoft on Friday acknowledged the vulnerability and said its security team was working on a patch that would plug the information disclosure hole.
In the meantime, ASP.Net users should run a script that will identify whether their systems are vulnerable. Systems that test positive should be reconfigured so that all error messages are mapped to a single error page that prevents the attacker from distinguishing among different types of errors, effectively muzzling the oracle.
Researchers Thai Duong and Juliano Rizzo last week demonstrated a point-and-click tool called POET, short for Padding Oracle Exploitation Tool, that has been updated to decrypt cookies, view states, form authentication tickets, and other sensitive data encrypted by ASP.Net. The video below provides a demonstration of the attack. ®