Skip to main content

Improper dependency pinning

Description

The application does not make explicit the whole dependency tree it requires (direct and indirect third-party libraries) and their respective version.

Impact

  • Accept a range of versions can cause a version of a dependency that is not supported by the application to be automatically installed.
  • Install a dependency containing a known vulnerability and being unaware of it.
  • Use a dependency version that is not compatible with the application.

Recommendation

All dependencies must be declared with a specific version and must be referenced with a dependency manager (npm, pip, maven). This allows to standardize the projects construction and packaging.

Threat

Anonymous attacker with access to the application.

Expected Remediation Time

⌚ 30 minutes.

Score

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

Base

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

Temporal

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

Result

  • Vector string: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N/E:U/RL:O/RC:C
  • Score:
    • Base: 3.7
    • Temporal: 3.2
  • Severity:
    • Base: Low
    • Temporal: Low

Code Examples

Compliant code

All dependencies should be defined with a given version number

dependencies": {
"@apollo/client": "3.4.17",
"@bugsnag/core": "7.13.2",
"@bugsnag/js": "7.13.3",
"@bugsnag/plugin-react": "7.13.2",
}

Non compliant code

Incorrectly declared dependencies inside the source code

dependencies": {
"@apollo/client": "*",
"@bugsnag/core": "*",
"@bugsnag/js": "*",
"@bugsnag/plugin-react": "*",
}

Requirements

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.