Direct dependencies are on current major versions
Why it matters
Running a major version that is 2+ releases behind the current means you are on a branch of the dependency that no longer receives backported security patches. React 16 does not receive fixes for vulnerabilities discovered in React's rendering pipeline. Express 3 has not received security patches since 2015. OWASP A06 (Vulnerable and Outdated Components) directly names major version lag as a risk vector. CWE-1104 (Use of Unmaintained Third Party Components) applies when the installed major version has reached end-of-life. The deeper the lag, the larger the eventual migration — skipping from React 16 to 19 requires addressing three sets of breaking changes simultaneously, while each single-major upgrade is manageable. Major version lag is technical debt with a compounding interest rate.
Severity rationale
Low because being one or two majors behind does not introduce immediate exploits, but it accumulates migration debt and means security patches from the current major branch do not apply to your version.
Remediation
Upgrade primary framework dependencies one major version at a time to minimize the blast radius of breaking changes. Check what's available before upgrading:
npx npm-check-updates -u --target major
Review the migration guide for each framework (React, Next.js, Vue, etc.) before running the install, then run your full test suite:
npm install react@latest react-dom@latest
npm test
Fix failures before moving to the next major. Never skip multiple majors in a single PR.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Dependency & Supply Chain Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-1104 — Use of Unmaintained Third Party Components
- owasp:2021 · A06 — Vulnerable and Outdated Components
Taxons
History
- 2026-04-18·v1.0.0·Initial import from dependency-supply-chain·automated