Skip to main content

Security controls bypass or absence - SSLPinning

Description

The application does not define an SSLPinning mechanism or configures it insecurely, allowing an attacker to intercept and manipulate the information that travels through the application

Impact

  • Intercept data from the app.
  • Tamper data from the app.

Recommendation

  • Implement robust security controls for certificates, offering either a predefined set of trusted Certification Authorities or incorporating integrity checks and white lists of trusted public keys that the application will accept.
  • In res/xml/network_security_config.xml
    • Define pin-sets with integrity hashes.
    • Set trust-anchors by providing a list of trusted Certification Authorities.

Threat

Anonymous attacker from the Internet.

Expected Remediation Time

⌚ 300 minutes.

Score

Default score using CVSS 3.1. It may change depending on the context of the src.

Base

  • Attack vector: P
  • Attack complexity: L
  • Privileges required: N
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: L
  • Availability: N

Temporal

  • Exploit code madurity: P
  • Remediation level: U
  • Report confidence: C

Result

  • Vector string: CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N/E:P/RL:U/RC:C
  • Score:
    • Base: 3.5
    • Temporal: 3.3
  • Severity:
    • Base: Low
    • Temporal: Low

Score 4.0

Default score using CVSS 4.0 . It may change depending on the context of the src.

Base 4.0

  • Attack vector: P
  • Attack complexity: L
  • Attack Requirements: N
  • Privileges required: N
  • User interaction: N
  • Confidentiality (VC): L
  • Integrity (VI): L
  • Availability (VA): N
  • Confidentiality (SC): N
  • Integrity (SI): N
  • Availability (SA): N

Threat 4.0

  • Exploit madurity: P

Result 4.0

  • Vector string: CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
  • Score:
    • CVSS-BT: 0.9
  • Severity:
    • CVSS-BT: Low

Compliant code

There are correctly defined pin-sets in the security configuration file

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<pin-set>
<pin digest="SHA-256">ZC3lTYTDBJQVf1P2V7+fibTqbIsWNR/X7CWNVW+CEEA=</pin>
<pin digest="SHA-256">GUAL5bejH7czkXcAeJ0vCiRxwMnVBsDlBMBsFtfLF8A=</pin>
</pin-set>
</domain-config>
</network-security-config>

Non compliant code

The application does not define any SSLPining mechanisms in the security configuration xml file

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
</domain-config>
</network-security-config>

Requirements

Fixes

free trial

Search for vulnerabilities in your apps for free with our automated security testing! Start your 21-day free trial and discover the benefits of our Continuous Hacking Machine Plan. If you prefer a full service that includes the expertise of our ethical hackers, don't hesitate to contact us for our Continuous Hacking Squad Plan.