Vulnerabilities / Threats
10/24/2011
01:53 PM
Connect Directly
RSS
E-Mail
50%
50%
Repost This

XML Encryption Flaw Leaves Web Services Vulnerable

Apache, Red Hat, IBM, Microsoft, and other major XML framework providers will need to adopt new standard, say German researchers who found the flaw.

10 Companies Driving Mobile Security
10 Companies Driving Mobile Security
(click image for larger view and for slideshow)
Watch your Web Services: the official XML Encryption Syntax and Processing standard can be broken.

So say two researchers from Ruhr-University Bochum in Germany, who have demonstrated a practical attack against XML's cipher block chaining (CBC) mode. "We were able to decrypt data by sending modified ciphertexts to the server, by gathering information from the received error messages," according to a statement released by the researchers, Juraj Somorovsky and Tibor Jager. They presented their findings in detail at last week's ACM Conference on Computer and Communications Security in Chicago.

XML, aka "eXtensible Markup Language," is a widely used technique for storing and transporting data, and is a fundamental Web Services component. "XML Encryption was standardized by W3C in 2002, and is implemented in XML frameworks of major commercial and open-source organizations like Apache, Red Hat, IBM, and Microsoft," the researchers said in their paper. "It is employed in a large number of major Web-based applications, ranging from business communications, e-commerce, and financial services [and] healthcare applications, to governmental and military infrastructures."

[ How do we make things more secure? Top FBI Cyber Cop Recommends New Secure Internet. ]

Before releasing their paper, the researchers said they notified all affected XML framework providers--including Amazon.com, IBM, Microsoft, and Red Hat Linux--via the W3C mailing list (following responsible disclosure practices) and with some, engaged in "intensive discussions on workarounds."

The potential exploit resembles a padding oracle attack--referring not to Oracle the vendor, but rather to a cryptographic concept, for which attacks were first introduced in 2002. Padding oracle attacks involve submitting bogus messages to a targeted system, then using the information returned by that system to ultimately crack its encryption.

This attack, similarly, "exploits a subtle correlation between the block cipher mode of operation, the character encoding of encrypted text, and the response behavior of a Web Service if an XML message cannot be parsed correctly," said the researchers. In other words, by sending ciphertext to a targeted Web Service, and then evaluating the response returned by the server, the encryption scheme may be deduced. "We show that an adversary can decrypt a ciphertext by performing only 14 requests per plaintext byte on average," they said. "This poses a serious and truly practical security threat on all currently used implementations of XML Encryption."

Amazon.com on Thursday acknowledged the researchers' work, saying that it had fixed the underlying XML-based messaging protocol--known as SOAP (for simple object access protocol)--vulnerabilities in its Elastic Compute Cloud (EC2), and that no customers had been affected by the potential attacks. "The research showed that errors in SOAP parsing may have resulted in specially crafted SOAP requests with duplicate message elements and / or missing cryptographic signatures being processed," according to the Amazon Web Services security bulletin. "If this were to occur, an attacker who had access to an unencrypted SOAP message could potentially take actions as another valid user and perform invalid EC2 actions."

What's the best way to eliminate the XML Encryption vulnerability? Unfortunately, "there is no simple patch for this problem," said Somorovsky at Ruhr-University Bochum. "We therefore propose to change the standard as soon as possible."

The most likely fix, according to the researchers, will involve replacing the CBC mode in XML Encryption with something that provides not just message confidentiality--as it does now--but also message integrity. "Adequate choices have for instance been standardized in ISO/IEC 19772:2009," they said. "We consider this solution as very recommendable for future versions of the XML Encryption standard."

But adopting a new approach in future versions of the XML Encryption standard would likely have side effectives, including "deployment and backwards compatibility issues," they said.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2012-3946
Published: 2014-04-24
Cisco IOS before 15.3(2)S allows remote attackers to bypass interface ACL restrictions in opportunistic circumstances by sending IPv6 packets in an unspecified scenario in which expected packet drops do not occur for "a small percentage" of the packets, aka Bug ID CSCty73682.

CVE-2012-5723
Published: 2014-04-24
Cisco ASR 1000 devices with software before 3.8S, when BDI routing is enabled, allow remote attackers to cause a denial of service (device reload) via crafted (1) broadcast or (2) multicast ICMP packets with fragmentation, aka Bug ID CSCub55948.

CVE-2013-6738
Published: 2014-04-24
Cross-site scripting (XSS) vulnerability in IBM SmartCloud Analytics Log Analysis 1.1 and 1.2 before 1.2.0.0-CSI-SCALA-IF0003 allows remote attackers to inject arbitrary web script or HTML via an invalid query parameter in a response from an OAuth authorization endpoint.

CVE-2014-2391
Published: 2014-04-24
The password recovery service in Open-Xchange AppSuite before 7.2.2-rev20, 7.4.1 before 7.4.1-rev11, and 7.4.2 before 7.4.2-rev13 makes an improper decision about the sensitivity of a string representing a previously used but currently invalid password, which allows remote attackers to obtain potent...

CVE-2014-2392
Published: 2014-04-24
The E-Mail autoconfiguration feature in Open-Xchange AppSuite before 7.2.2-rev20, 7.4.1 before 7.4.1-rev11, and 7.4.2 before 7.4.2-rev13 places a password in a GET request, which allows remote attackers to obtain sensitive information by reading (1) web-server access logs, (2) web-server Referer log...

Best of the Web