SIK-2017-046


Title:

Broken X509TrustManager in Handelsblatt Global Edition App

Report ID

SIK-2017-046

Summary:

  • Vendor: Handelsblatt GmbH
  • Product: Handelsblatt Global Edition (App-Package: com.handelsblatt.ge)
  • Affected Version: 1.0.6.002
  • Severity: medium
  • Short summary: Certificates for encrypted SSL/TLS communication are not checked properly which prones the app to man-in-the-middle attacks

Details:

When logging in, the communication between app and its backend is secured with SSL/TLS. For authentication the backend sends a certificate, which enables the client to prove that it is talking to the correct backend. The check whether the certificate is valid or not, is not properly implemented in the Handelsblatt Global Edition App. Therefore, a man-in-the-middle attacker can intercept the communication by sending his own certificate to the app.
The login process sends the following request:

GET https://api.p4plive.s4p-iapps.com/gews/v4/getAccountId?email=email%40email.
       com&password=testpw
       <- 401 text/html 401B 122ms
GET https://api.p4plive.s4p-iapps.com/gews/v4/getAccountId?email=email%40email.
       <- com&password=testpw

In the class com.iapps.p4pnext.d.k, a X509TrustManager is implemented, which does not check the certificate.
With this implementation, the app trusts every certificate:

final class k implements X509TrustManager {
    final /* synthetic */ j a;

    k(j jVar) {
        this.a = jVar;
    }

    public final void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) {
    }

    public final void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) {
    }

    public final X509Certificate[] getAcceptedIssuers() {
        return null;
    }

Workaround

Use a VPN connection when using this app.

Suggested Mitigation

Implemented a proper certificate check or use the system’s default X509TrustManager.

Timeline

  • 2017-08-09 Vulnerability Discovered
  • 2017-08-09: Contacted developer
  • 2017-08-18: Advisory sent to developer