Skip to content

Score an advisory from the highest CVSS vector we can compute - #25

Merged
dpage merged 1 commit into
mainfrom
fix-cvss4-missing-scores
Sep 22, 2026
Merged

dpage merged 1 commit into
mainfrom
fix-cvss4-missing-scores

Conversation

@dpage

@dpage dpage commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Twenty of the twenty eight advisories on https://www.pgadmin.org/security/ show no score, and because the page orders by base score they sort as though they were the least severe. It is all the recent ones.

Every advisory published since the middle of 2026 arrives carrying both a CVSS 4.0 vector and a 3.1 one, and severity extraction took the highest version present. We cannot compute a 4.0 base score: its scoring is a lookup table rather than a formula, and this module has no dependencies by design. So those advisories kept the 4.0 vector and lost the number, despite a perfectly scorable 3.1 vector sitting beside it.

The vector and the score now come from the same entry, the highest version that actually yields a number, so the page never quotes one version's metrics beside another version's figure.

Verified against the live OSV response: all 28 advisories now carry a base score and a severity band, and the four most recent come out 6.5, 7.0, 8.1 and 6.5 from their 3.1 vectors.

Implementing 4.0 scoring properly would mean roughly 270 macrovector lookup entries plus interpolation, which is a poor trade against showing the 3.1 figure; if OSV ever publishes 4.0-only advisories for pgAdmin, a dependency would be the honest answer.

Every advisory published since the middle of 2026 arrives carrying both a
CVSS 4.0 vector and a 3.1 one, and severity extraction took the highest
version present, which is 4.0, whose base score this module cannot compute:
4.0 scoring is a lookup table rather than a formula, and this module has no
dependencies by design. Twenty of the twenty eight advisories therefore showed
no score at all, despite a scorable 3.1 vector sitting beside the one we kept,
and since the page orders by base score those twenty sorted as though they
were the least severe.

The vector and the score are now taken from the same entry, the highest
version that yields a number, so nothing is quoted from one version of the
standard beside another version's figure.
@dpage
dpage merged commit e13d016 into main Sep 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant