Cvss Scoring
Trail of BitsOfficialPublished by Trail of Bits
- Skill
- Tool integration
- Security
- CC-BY-SA-4.0
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill assists security professionals in standardizing vulnerability reporting by generating CVSS v4.0 vector strings. It follows a structured evaluation process, requiring users to extract security-relevant facts before systematically scoring base metrics. The output includes a detailed justification table, the final vector string, and a direct link to the official FIRST.org calculator for numeric scoring.
What it does
- Extracts security-relevant facts from plain-text vulnerability descriptions.
- Systematically evaluates 11 CVSS v4.0 base metrics.
- Generates a formatted CVSS v4.0 vector string.
- Provides a pre-filled link to the FIRST.org CVSS v4.0 calculator.
- Performs calibration checks against known vulnerability examples.
- Validates inputs to ensure they describe exploitable security weaknesses.
When to use it
- Scoring a vulnerability finding for a security audit report.
- Generating a CVSS v4.0 vector from a bug description.
- Comparing the relative severity of multiple security findings.
- Determining the CVSS v4.0 vector for a specific vulnerability.
Advantages
- Ensures consistent application of CVSS v4.0 metrics.
- Prevents common scoring errors by enforcing a structured workflow.
- Provides clear justifications for each assigned metric value.
- Facilitates quick numeric score retrieval via direct calculator integration.
Usage examples
- “Score this vulnerability: An unauthenticated attacker can execute arbitrary code on the web server by sending a crafted HTTP request.”
- The agent extracts facts, evaluates the 11 base metrics, provides a justification table, and outputs the CVSS v4.0 vector string with a link to the FIRST.org calculator.
- “What is the CVSS v4.0 vector for a local privilege escalation that requires the user to open a malicious file?”
- The agent identifies the attack vector as Local, evaluates the remaining metrics, and generates the corresponding vector string and calculator link.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/trailofbits/cvss-scoring/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip cvss-scoring.zip -d .agents/skills
Documentation by Trail of Bits
CVSS v4.0 Vector Scoring
Produce a CVSS v4.0 vector string from a plain-text vulnerability description, plus a FIRST.org calculator link with that vector already applied, which is where the numeric score comes from. Do NOT attempt to compute the numeric score.
When to Use
Scoring a vulnerability finding for a security audit report
Generating a CVSS v4.0 vector from a bug description
Comparing relative severity of multiple findings
The user asks "what's the CVSS for this?" or "score this vulnerability"
When NOT to Use
CVSS v3.1 is explicitly requested (use the organization's CVSS v3.1 scoring guide instead)
The description is too vague to assess any metric (ask for clarification first)
The input does not describe an exploitable security weakness (see Input Validation below)
Scoring risk (CVSS measures intrinsic severity, not deployment-specific risk)
Computing the numeric score (direct the user to the FIRST.org calculator)
Input Validation
Run these checks before scoring any metric. If any check fails, address it before proceeding.
1. Is this a vulnerability? A CVSS vector is meaningful only for exploitable security weaknesses. If the input describes a code-quality issue, design concern, or finding with no security impact, refuse and respond:
This description does not appear to describe an exploitable vulnerability. CVSS measures the severity of security weaknesses; it does not apply to {category}. If you believe there is an exploitable impact, restate the description in terms of attacker capability and re-run.
Do not fabricate metrics to satisfy the request.
2. Does the input use CVSS v3.1 vocabulary? Watch for Scope (now removed), User Interaction: Required, or the unprefixed CIA triad. If detected, surface the version mismatch explicitly in the output before translating:
Input uses CVSS v3.1 vocabulary; translating to v4.0 semantics. The following mappings were applied: {list}.
Do not translate silently.
Rationalizations to Reject
These are common scoring errors. Reject this reasoning when you encounter it:
"Network accessible means AV:N" -- AV measures the furthest distance from which the attack can launch, not whether the component is on a network. A privilege escalation on a network service is still AV:L if the attacker needs local shell access.
"It's serious so all impacts are High" -- Each impact metric (VC/VI/VA/SC/SI/SA) must be independently justified. An RCE that gives code execution has VI:H (attacker can modify arbitrary data/code) but not necessarily VC:H (unless data is actually exposed) or VA:H (unless the attacker can crash or deny the service).
"A dependency is a subsequent system" -- Component relationships do not define the system boundary. A dedicated database or an application using a vulnerable library can be part of the same vulnerable system; counting that impact again in SC/SI/SA inflates severity.
"No mention of subsequent systems means SC/SI/SA are all None" -- Identify the vulnerable system boundary and consider supported impacts outside it. If that boundary or an external impact is unclear, explain the uncertainty and flag the chosen value with
[ASSUMED]."Default to worst case when uncertain" -- CVSS v4.0 requires reasonable worst case, not absolute worst case. When uncertain, choose the most defensible value and flag it with
[ASSUMED]."AC:H because there are prerequisites" -- In v4.0, AC measures evasion of security-enhancing mechanisms (ASLR, DEP). Prerequisites like specific configurations or race conditions belong in AT, not AC. This is the most common v3.1-to-v4.0 migration error.
"UI:R maps to UI:P or UI:A" -- v4.0 split v3.1's Required into Passive and Active. Passive means involuntary interaction (browsing a page). Active means the user must consciously perform a specific action (installing software, changing a setting, clicking through a warning). Don't default to Active.
Input Handling
The input is plain text describing a vulnerability. It may contain severity, difficulty, implementation specifics, exploitation scenarios, and remediation recommendations.
Before scoring any metric, extract and list all security-relevant facts:
What is the vulnerable component? (software, library, service, device)
How is it accessed? (network service, local binary, physical device, adjacent network)
What privileges does the attacker need? (unauthenticated, user-level, admin)
What does the attacker achieve? (read data, modify data, execute code, crash service, escalate privileges)
What is the vulnerable system boundary, including components serving its function? Are systems outside that boundary affected?
Are there prerequisites or conditions for exploitation? (specific config, race condition, on-path position)
Is user interaction required? If so, what kind?
Is there information about exploit maturity? (PoC available, actively exploited, unreported)
This fact extraction prevents anchoring bias from emotional language in the description.
If any exploitability metric (AV, AC, AT, PR, UI) cannot be confidently determined from the description, ask the user the fact-extraction questions above before proceeding. These five metrics drive most of the score and are the highest-impact place for a wrong guess. Do not default-and-flag them silently.
If an impact metric (VC/VI/VA/SC/SI/SA) is ambiguous, state the ambiguity, explain which values are plausible and why, choose the most defensible default, and flag it with [ASSUMED] in the output.
Scoring Workflow
Score metrics in this exact order. For each metric, read the detailed definitions in the metrics reference.
Phase 1: Exploitability Metrics
Evaluate these 5 metrics based on the extracted facts:
1. Attack Vector (AV): N / A / L / P
Network: exploitable remotely via network stack (HTTP, TCP, DNS)
Adjacent: requires same LAN, Bluetooth, WiFi, or logical subnet
Local: requires local access (shell, file drop, terminal emulation)
Physical: requires physically touching/manipulating the device
2. Attack Complexity (AC): L / H
Low (default): no security mechanisms to evade
High: must bypass ASLR, DEP, or obtain target-specific secrets
NOTE: race conditions and specific configs go in AT, not AC (v4.0 change from v3.1)
3. Attack Requirements (AT): N / P
None: no special deployment conditions needed
Present: requires specific configuration, race condition, on-path position, or other deployment-dependent condition
This metric is NEW in v4.0 -- it absorbs conditions that v3.1 lumped into AC
4. Privileges Required (PR): N / L / H
None: unauthenticated
Low: basic user account
High: admin or elevated privileges
5. User Interaction (UI): N / P / A
None: no user action needed
Passive: user does something involuntary (visits a page, receives a message)
Active: user must consciously perform a specific action (install software, click through warning, change a setting)
v4.0 split v3.1's "Required" into Passive and Active -- choose carefully
Phase 2: Vulnerable System Impact
These measure impact within the vulnerable system. Establish its boundary using FIRST's system-of-interest model: computing logic with a coherent function and set of security policies. Components designed exclusively to serve that system belong inside it, such as a dedicated database or an embedded library and its consuming application. Score impacts to those components in VC/VI/VA.
6. Confidentiality (VC): H / L / N
High: total loss -- all data in the vulnerable system exposed
Low: some data exposed but attacker lacks control over what/how much
None: no confidentiality impact
7. Integrity (VI): H / L / N
High: total loss -- attacker can modify any data in the vulnerable system
Low: limited modification possible
None: no integrity impact
8. Availability (VA): H / L / N
High: sustained or persistent total loss, or partial loss with a direct, serious consequence (e.g., preventing new connections while existing connections remain available)
Low: reduced performance or interrupted availability without a direct, serious consequence; repeated exploitation cannot completely deny service
None: no availability impact
Phase 3: Subsequent System Impact
These measure impact to systems outside the vulnerable system boundary. This replaces v3.1's Scope metric.
A dependency, data flow, or trust relationship alone does not make a component a subsequent system. Identify a separate system outside the boundary and the impact exploitation causes there; do not count the same within-system impact again in SC/SI/SA. A user's browser affected by web-application XSS or other guests compromised through a hypervisor vulnerability can be subsequent systems.
9. Subsequent Confidentiality (SC): H / L / N
10. Subsequent Integrity (SI): H / L / N
11. Subsequent Availability (SA): H / L / N
If the description gives no indication of subsequent system impact, default to N but flag with [ASSUMED]. Common cases where subsequent impact is non-None:
XSS: SC:L, SI:L (browser is a subsequent system). UI depends on whether normal browsing triggers the payload (P) or the user must navigate to an attacker-crafted resource (A) -- not on stored vs. reflected.
VM escape: SC:H, SI:H, SA:H (host/other VMs are subsequent systems)
DNS poisoning: SI:H, SA:H (downstream resolvers are subsequent systems)
Compromised auth server: consider SC:H, SI:H for affected relying services outside the vulnerable system boundary
Phase 4: Optional Metrics
Threat -- Exploit Maturity (E): Include ONLY if the description provides evidence.
Attacked (A): known active exploitation or exploit toolkits available
Proof-of-Concept (P): public PoC code exists, no known attacks
Unreported (U): no public PoC, no known attacks
Not Defined (X): no information available (default -- omit from vector)
Environmental metrics: Include only when the source description provides relevant context — i.e., the auditor states the deployed environment's CIA requirements (CR/IR/AR) or describes a compensating control that changes a base metric (modified base: MAV/MAC/MAT/MPR/MUI/MVC/MVI/MVA/MSC/MSI/MSA). Otherwise omit and note: "Environmental metrics omitted -- add if the target environment's CIA requirements differ from defaults."
Supplemental metrics: Include only when the source description provides relevant context — i.e., the finding describes a safety impact (S), recovery characteristic (R), or automation potential (AU). These are informational and do not affect the numeric score. Otherwise omit and note: "Supplemental metrics omitted -- add for communication purposes if needed."
See the Vector String section below for canonical ordering when these are included.
Output Format
Present the output in three parts:
Part 1: Metric Justification Table
| Metric | Value | Justification |
|--------|-------|---------------|
| AV | N | Exploitable via HTTP API without local access |
| AC | L | No security mechanisms to evade |
| AT | N | No deployment-specific conditions required |
| PR | N | Unauthenticated endpoint |
| UI | N | No user interaction needed |
| VC | H | Attacker gains read access to all application data |
| VI | H | Attacker can modify arbitrary records |
| VA | N | No availability impact observed |
| SC | N | No evidence of downstream system impact [ASSUMED] |
| SI | N | No evidence of downstream system impact [ASSUMED] |
| SA | N | No evidence of downstream system impact [ASSUMED] |Flag any assumed values with [ASSUMED].
Part 2: Vector String
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NFormat: CVSS:4.0/ prefix, then all 11 base metrics in canonical order (AV/AC/AT/PR/UI/VC/VI/VA/SC/SI/SA), separated by /. Append optional metrics only if scored: E first, then environmental in canonical order (CR/IR/AR/MAV/MAC/MAT/MPR/MUI/MVC/MVI/MVA/MSC/MSI/MSA), then supplemental (S/AU/R/V/RE/U).
Immediately below the vector, emit the calculator link with the vector as the URL fragment, so the user gets the numeric score in one click:
https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NAppend the vector verbatim after # — no URL-encoding, since : and / are both legal in a fragment. The calculator reads the fragment on load and preselects every metric button.
The link only works if the vector is well-formed: the calculator requires the literal CVSS:4.0 prefix and rejects metrics that arrive out of canonical order, silently leaving the buttons unset. That is the same ordering rule stated above, so a vector that satisfies it produces a working link.
Part 3: Calibration Check
Before presenting the final vector, read the examples reference and find the 2-3 most similar vulnerability types. Compare your vector against these calibration anchors. If your vector diverges significantly from similar examples, either:
Explain why the divergence is justified (the vulnerability has a specific characteristic the examples don't), or
Adjust the metric that seems miscalibrated
State which examples you compared against and whether the vector is consistent.
Self-Check Checklist
Before presenting the final output, verify:
[ ] Input describes an exploitable security weakness (not a code-quality, design, or informational finding)
[ ] Any CVSS v3.1 vocabulary in the input was acknowledged in the output before translation
[ ] All 11 base metrics are present in the vector
[ ] Each metric uses valid CVSS v4.0 values (not v3.1 -- e.g., UI uses N/P/A not N/R; no Scope metric)
[ ] Vector string follows canonical metric ordering (base, then E, then environmental, then supplemental)
[ ] Every metric has a text justification from the input description
[ ] Subsequent system metrics (SC/SI/SA) are not confused with vulnerable system metrics (VC/VI/VA)
[ ] AT and AC are not conflated (AT = deployment conditions; AC = security mechanism evasion)
[ ] Calibration check against examples was performed
[ ] Ambiguous impact metrics are flagged with
[ASSUMED]; ambiguous exploitability metrics were resolved by asking the user
Calculator
The numeric score comes from the official calculator, which the Part 2 link opens with
the vector already applied. Do not compute the score yourself: CVSS v4.0 uses a
lookup-table algorithm (cvss_lookup.js on FIRST.org), not a formula, so any score you
derive by hand is a guess.
If the user wants the bare calculator without a vector applied: https://www.first.org/cvss/calculator/4.0
Files
- .calcifier/recipe.pyScript9.9 KiB
- ATTRIBUTION.mdAdded by AutoGineer930 B
- LICENSELicence file added by AutoGineer19.7 KiB
- SKILL.md14.9 KiB
- references/examples.md13.6 KiB
- references/metrics.md14.5 KiB
references/examples.md
CVSS v4.0 Calibration Examples
Scored examples from the FIRST.org CVSS v4.0 specification. Use these as calibration anchors when scoring new vulnerabilities. Compare your vector against the 2-3 most similar examples before finalizing.
Remote Code Execution
Log4Shell (CVE-2021-44228) -- CVSS-BT 9.3
JNDI command execution allows unauthenticated remote attacker to execute arbitrary commands with privileges of the service using the vulnerable library.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:A| Metric | Value | Why |
|---|---|---|
| AV | N | Network service vulnerability |
| AC | L | Standard web request techniques |
| AT | N | Attacker prepares LDAP server but no target-side conditions needed |
| PR | N | Unauthenticated |
| UI | N | Automatic exploitation |
| VC/VI/VA | H | Arbitrary command execution with service privileges |
| SC/SI/SA | N | Impact contained to vulnerable system |
| E | A | Known active exploitation in the wild |
Shellshock (CVE-2014-6271) -- CVSS-BT 9.3
GNU Bash processes trailing strings after function definitions in environment variable values, enabling remote code execution via crafted environment.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:AKey metrics: Same as Log4Shell -- unauthenticated network RCE with active exploitation.
NGINX Memory Corruption (CVE-2022-41741) -- CVSS-B 7.3
Local attacker corrupts NGINX worker memory via specially crafted audio/video file, triggering memory errors dependent on system state.
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AV | L | Local system access needed |
| AT | P | Target-specific reconnaissance needed to craft effective file |
| PR | L | Sufficient privileges to trigger NGINX processing |
| VC/VI/VA | H | Arbitrary code execution with elevated privileges |
VMware vmnetdhcp Use-After-Free (CVE-2020-3947) -- CVSS-B 9.4
Use-after-free in vmnetdhcp allows code execution on host or DoS from guest VM.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H| Metric | Value | Why |
|---|---|---|
| AV | L | Local guest VM access |
| PR | N | Unprivileged guest access sufficient |
| VC/VI/VA | H | Hypervisor host code execution |
| SC/SI/SA | H | Other guest VMs compromisable (VM escape) |
Information Disclosure
Heartbleed (CVE-2014-0160) -- CVSS-BT 8.7
TLS Heartbeat Extension implementation allows buffer over-read to extract 64KB of server memory including private keys and credentials.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:A| Metric | Value | Why |
|---|---|---|
| AV | N | Remote network attack |
| VC | H | Private keys and credentials exposed in memory |
| VI/VA | N | Read-only memory leak, no modification or crash |
| E | A | Active exploitation in the wild |
Windows DWM Info Disclosure (CVE-2026-20805) -- CVSS-BT 6.8
Authorized attacker discloses sensitive local information through Desktop Windows Manager exposure.
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:A| Metric | Value | Why |
|---|---|---|
| AV | L | Local system access required |
| PR | L | User-level privileges sufficient |
| VC | H | Sensitive information retrieval |
| E | A | CISA reported active exploitation |
SQL Injection
PrestaShop SQL Injection (CVE-2023-30545) -- CVSS-B 7.1
User with SQL Manager access can read arbitrary files via LOAD_FILE in SELECT requests.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AV | N | Remote web application |
| PR | L | Database access (non-root) required |
| VC | H | Arbitrary OS file read |
| VI/VA | N | Read-only, no modification or crash |
Cross-Site Scripting (XSS)
Zimbra Calendar XSS (CVE-2022-24682) -- CVSS-B 5.1
HTML with executable JavaScript in element attributes is unescaped, causing markup injection.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N| Metric | Value | Why |
|---|---|---|
| UI | A | User must click a malicious link crafted by the attacker |
| VC/VI/VA | N | No direct application impact |
| SC/SI | L | Browser data access/modification (browser is subsequent system) |
SharePoint Stored XSS (CVE-2020-0926) -- CVSS-B 5.1
SharePoint does not sanitize crafted web requests, allowing script execution in the user's security context.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N| Metric | Value | Why |
|---|---|---|
| PR | L | Attacker needs account to store payload |
| UI | P | Normal user browsing triggers execution (passive) |
| SC/SI | L | Browser content access/modification |
Note on UI for XSS: The P vs A distinction depends on whether the user encounters the payload through normal browsing (P) or must be directed to a specific attacker-crafted resource (A). SharePoint stored XSS is UI:P because normal page browsing triggers it. Zimbra stored XSS is UI:A because the user must click a crafted link. This is not a blanket stored=P / reflected=A rule.
RocketChat LiveChat Blind Self-XSS (CVE-2022-21830) -- CVSS-B 5.1
Attacker tricks victim into pasting malicious code in chat instance.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N| Metric | Value | Why |
|---|---|---|
| UI | A | User must consciously paste malicious script |
Dolibarr Product Module XSS (CVE-2024-55228) -- CVSS-B 8.5
XSS in Product module allows attackers to execute arbitrary scripts via crafted payload in Title parameter, with application-level impact.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N| Metric | Value | Why |
|---|---|---|
| VC/VI/VA | H | Commands execute with user privileges in the application |
| SC/SI | L | Browser data also accessible |
CSRF
WordPress Social Share CSRF (CVE-2023-5602) -- CVSS-B 5.1
Missing nonce validation on AJAX actions allows unauthenticated attackers to invoke actions via forged requests.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| UI | A | User must click malicious link |
| VI | L | Application values modifiable via forged request |
Privilege Escalation
Cisco ASA/FTD Privilege Escalation (CVE-2022-20759) -- CVSS-B 7.7
Web services interface allows authenticated unprivileged remote attacker to elevate to level 15 (full admin).
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AT | P | HTTP Management Access and IKEv2/WebVPN must be enabled |
| PR | L | Valid VPN credentials needed |
| VC/VI/VA | H | Complete device compromise (level 15) |
Oracle VirtualBox Host Data Access (CVE-2023-21989) -- CVSS-B 5.9
High-privileged attacker with VM logon accesses host hypervisor data.
CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| PR | H | Administrative VM control needed |
| VC/VI/VA | N | VirtualBox application unaffected |
| SC | H | VM host hypervisor data accessible (crosses trust boundary) |
Authentication / Access Control Bypass
authentik PKCE Bypass (CVE-2023-48228) -- CVSS-B 9.3
authentik only validates code_verifier when provided, allowing unauthenticated token requests without PKCE verification.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H| Metric | Value | Why |
|---|---|---|
| VC | N | No direct application confidentiality impact |
| VI | H | Arbitrary authentication tokens generated |
| SC/SI/SA | H | Tokens exploit all downstream relying services |
Denial of Service
Juniper SIP Memory Leak (CVE-2023-22394) -- CVSS-BT 6.6
Improper handling of SIP call data causes memory leak leading to DoS.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L/E:U| Metric | Value | Why |
|---|---|---|
| VA | H | Service resource exhaustion |
| SA | L | Brief downstream device unavailability |
| E | U | No known public exploitation |
Network / Protocol Attacks
Juniper Proxy ARP DoS (CVE-2013-6014) -- CVSS-B 6.4
Proxy ARP on unnumbered interface allows ARP cache poisoning and bogus forwarding table entries.
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:H/SI:N/SA:H| Metric | Value | Why |
|---|---|---|
| AV | A | Network adjacency required |
| VI | L | Routing table modification on gateway |
| SC | H | IP traffic from restricted hosts can be observed |
| SA | H | Rogue routing entries redirect/blackhole traffic |
Cisco Firepower sftunnel MitM (CVE-2020-3549) -- CVSS-BT 5.2
Insufficient sftunnel negotiation protection allows MitM during initial device registration.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U| Metric | Value | Why |
|---|---|---|
| AT | P | Must be on-path to intercept |
| UI | P | Logged-in user activity generates interceptable traffic |
| E | U | No known public exploitation |
Junos OS Improper Initialization (CVE-2022-22186) -- CVSS-B 6.9
Packets on em0 not destined to device are improperly forwarded to egress instead of being discarded.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N| Metric | Value | Why |
|---|---|---|
| VC/VI/VA | N | Gateway device itself unaffected |
| SC | L | Traffic from restricted hosts detectable on egress |
| SI | L | Traffic misdirected to unintended interfaces |
Cryptographic Weaknesses
Red Hat OpenShift FIPS Compliance (CVE-2023-3089) -- CVSS-BE 8.1
Non-FIPS-validated cryptographic modules operate in FIPS mode, reducing security guarantees.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N/CR:H/IR:L/AR:L/MAV:N/MAC:H/MVC:H/MVI:L/MVA:L| Metric | Value | Why |
|---|---|---|
| AT | P | Requires FIPS mode configuration |
| VC | H | Weakened crypto affects confidentiality of protected data |
| VI/VA | L | Encryption still present but weaker guarantees |
| MAC | H | Exploitation still requires spoofing a cryptographically secure certificate, even though the algorithm is not always FIPS-approved. |
| CR | H | FIPS systems have high confidentiality requirements |
Bosch Firmware Clear-Text Transmission (CVE-2021-23846) -- CVSS-B 8.2
Firmware transmitted in clear text over HTTP, enabling on-path attackers to access user credentials.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AT | P | Must be on-path to intercept HTTP traffic |
| VC | H | Plain-text credentials fully exposed |
Physical Access
Becton Dickinson PCU Infusion Device (CVE-2023-30560) -- CVSS-B 8.3
PCU infusion device allows unauthenticated physical modification with patient safety consequences.
CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:H/SA:N/S:P/V:D| Metric | Value | Why |
|---|---|---|
| AV | P | Physical device access required |
| VC/VI/VA | H | Complete device control |
| SI | H | Patient health integrity at risk |
| S | P | Safety consequences (supplemental, does not affect score) |
Intel DCI Debug Interface (CVE-2018-3652) -- CVSS-B 8.6
Insufficient DCI access restrictions allow physical attacker to access platform secrets via debug interfaces.
CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AV | P | Physical DCI port access required |
| VC/VI/VA | H | Complete memory/CPU instruction access |
Firmware / BIOS
Lenovo ThinkPwn BIOS (CVE-2016-5729) -- CVSS-B 8.4
SmmRuntime BIOS driver allows local admin to execute code with System Management Mode privileges.
CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/R:I| Metric | Value | Why |
|---|---|---|
| PR | H | Kernel-level (ring 0) code execution required |
| VC/VI/VA | H | SMM provides complete system control |
| R | I | SMM locking prevents recovery (supplemental) |
Flash Write Protection S3 Failure (CVE-2015-2890) -- CVSS-B 8.7
UEFI BIOS fails to restore flash write protections on resume from S3 sleep.
CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/R:I| Metric | Value | Why |
|---|---|---|
| AT | P | Vulnerability triggers only on S3 resume (deployment condition) |
| PR | H | Kernel-level code execution |
| R | I | BIOS corruption prevents recovery (supplemental) |
Race Conditions
regreSSHion (CVE-2024-6387) -- CVSS-BT 8.2
Race condition in OpenSSH sshd signal handling during authentication timeout window.
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P| Metric | Value | Why |
|---|---|---|
| AC | H | Must defeat ASLR and memory defenses |
| AT | P | Race condition exploitation is unreliable |
| E | P | Public PoC available but no known active attacks |
Note: This is a rare case where BOTH AC:H and AT:P apply. AC:H because ASLR must be bypassed. AT:P because the race condition is a deployment-dependent timing issue.
Warning Bypass / UI Spoofing
Adobe Acrobat Reader Warning Bypass (CVE-2021-44714) -- CVSS-B 4.6
Warning message omits custom protocols, allowing attackers to mislead users about malicious file origins.
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N| Metric | Value | Why |
|---|---|---|
| AV | L | Malicious document must exist on local disk |
| UI | A | User must click "Allow" on warning dialog |
| VC | L | Omitted information enables spoofing (limited info leak) |
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Needs Python
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Trail of Bits
- Publisher
- Trail of Bits (Official)
- Source
- trailofbits/skills · plugins/cvss-scoring/skills/cvss-scoring · commit e4dd0bb
- Licence
- Creative Commons Attribution-ShareAlike 4.0 International (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Trail of Bits.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download cvss-scoring.zip