fix(cvss): honor Exploit Maturity threat metric in CVSS v4.0 scoring - #2569
Conversation
Use calculated_full_score() instead of calculated_base_score() for v4.0 so E:P/E:U are not stripped. No change for CVEs without an E metric. Implements TC-5626 Assisted-by: Claude Code
Reviewer's GuideCVSS v4.0 scoring is updated to use the full score (including Exploit Maturity) when building ScoreInformation, and new tests verify the expected scores for different E metrics and the no-E case. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Many thanks @mrrajan |
Add missing test for CVSS v4.0 with E:A (Attacked) exploit maturity metric as requested in PR review. Also fix variable name inconsistency where the local variable was renamed to full_score but still referenced cvss.full_score instead of cvss.base_score in the fallback. Addresses review feedback on PR guacsec#2569 Co-Authored-By: Claude Code <noreply@anthropic.com>
|
Thanks for the review @rh-jfuller I just addressed the requested changes :) Please let me know. |
|
Successfully created backport PR for |
…[Backport release/0.6.z] (#2575) * fix: persist total_components count for EI analysis when job terminates (cherry picked from commit 155a5c9) * fix(cvss): honor Exploit Maturity threat metric in CVSS v4.0 scoring Use calculated_full_score() instead of calculated_base_score() for v4.0 so E:P/E:U are not stripped. No change for CVEs without an E metric. Implements TC-5626 Assisted-by: Claude Code (cherry picked from commit ca49359) * test(cvss): add E:A test coverage and fix variable reference Add missing test for CVSS v4.0 with E:A (Attacked) exploit maturity metric as requested in PR review. Also fix variable name inconsistency where the local variable was renamed to full_score but still referenced cvss.full_score instead of cvss.base_score in the fallback. Addresses review feedback on PR #2569 Co-Authored-By: Claude Code <noreply@anthropic.com> (cherry picked from commit a837282) --------- Co-authored-by: Noah Santschi-Cooney <noah@santschi-cooney.ch> Co-authored-by: mrrajan <86094767+mrrajan@users.noreply.github.com> Co-authored-by: Claude Code <noreply@anthropic.com>
|
/backport release/0.5.z |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin release/0.5.z
git worktree add -d .worktree/backport-2569-to-release/0.5.z origin/release/0.5.z
cd .worktree/backport-2569-to-release/0.5.z
git switch --create backport-2569-to-release/0.5.z
git cherry-pick -x 155a5c99bda57dabccbc064b2dcc819af4f921ae ca49359cf84fce0e0cc7a8fe3f7b19af4c0eae58 a837282f4375f704dbd467b623b7798a5d8d2baf |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin release/0.6.z
git worktree add -d .worktree/backport-2569-to-release/0.6.z origin/release/0.6.z
cd .worktree/backport-2569-to-release/0.6.z
git switch --create backport-2569-to-release/0.6.z
git cherry-pick -x 155a5c99bda57dabccbc064b2dcc819af4f921ae ca49359cf84fce0e0cc7a8fe3f7b19af4c0eae58 a837282f4375f704dbd467b623b7798a5d8d2baf |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin release/0.5.z
git worktree add -d .worktree/backport-2569-to-release/0.5.z origin/release/0.5.z
cd .worktree/backport-2569-to-release/0.5.z
git switch --create backport-2569-to-release/0.5.z
git cherry-pick -x 155a5c99bda57dabccbc064b2dcc819af4f921ae ca49359cf84fce0e0cc7a8fe3f7b19af4c0eae58 a837282f4375f704dbd467b623b7798a5d8d2baf |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin release/0.6.z
git worktree add -d .worktree/backport-2569-to-release/0.6.z origin/release/0.6.z
cd .worktree/backport-2569-to-release/0.6.z
git switch --create backport-2569-to-release/0.6.z
git cherry-pick -x 155a5c99bda57dabccbc064b2dcc819af4f921ae ca49359cf84fce0e0cc7a8fe3f7b19af4c0eae58 a837282f4375f704dbd467b623b7798a5d8d2baf |
Summary
Use
calculated_full_score()instead ofcalculated_base_score()for CVSS v4.0 so the Exploit Maturity (E) threat metric is included in scoring. Fixes inflated scores for CVEs withE:PorE:U(e.g., 10.0 instead of 9.3 for CVE-2026-18236).Fromimpl is changed; v2/v3 are unaffectedImplements TC-5626
Summary by Sourcery
Honor CVSS v4.0 Exploit Maturity in score calculation to avoid inflated scores and validate behavior with new tests.
Bug Fixes:
Tests: