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
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.