German e-gov protocol carries ancient vulns
Dies ist eine Chaos
Germany's e-government system is open to padding oracle attacks and other vulnerabilities because of an insecure communications protocol.
According to this SEC-Consult advisory, which landed on Friday, the problems are in the OSCI-Transport Library version 1.2, for which a common implementation is in Java.
OSCI, the Online Services Computer Interface, is the foundation of Germany's e-government. It's meant to provide secure, confidential, and legally-binding transmission over untrusted networks such as the Internet.
According to SEC Consult, the library's bugs allow attackers to decrypt messages, modify signed messages, and attack hosts implementing the protocol.
The first of the vulnerabilities is CVE-2017-10670: the attacker can read arbitrary files from the target system, or to conduct denial-of-service on it.
Second, assigned CVE-2017-10668: the library incorporates a number of deprecated encryption algorithms (Triple DES, AES 129, AES 192, and AES 256, all in CBC mode).
These are subject to “padding oracle” attacks, if the recipient reveals whether a decrypted message has valid padding – something which the advisory says “would allow an attacker to decrypt any encrypted messages”.
“Since the supported cipher algorithms do not provide protection against modification (malleability) and the library reveals in an error message whether decryption failed (error code 9202), SEC Consult was able to … bypass transport encryption”, the advisory continues.
CVE-2017-10669 is a signature wrapping attack that allows the miscreant to change the contents of a message without invalidating the signature; and finally there's a deserialisation bug that, like CVE-2017-10670, allows an external entity injection.
There's extra lulz to be had from this bug: “the OSCI-Transport library only needs to be in the classpath of an application - the vulnerable application does not need to actually use the OSCI-Transport library! In order for this vulnerability to be exploitable, an application needs to deserialize data that can be influenced by an attacker”.
Germany's public agencies are warned not to use OSCI-Transport until they've upgraded to the latest version of the library.
A detailed discussion of the vulnerability is at SEC-Consult here. ®