Skip to main content

Vulnerability-Lookup EUVDEUVD-2026-57219

| CVE-2026-73374 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-08-12 CIRCL GHSA-xx2h-7258-xw7c
6.1
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain vulnerability:create or vulnerability:modify account
  2. Delivery
    Craft reference tag containing XSS payload
  3. Exploit
    Submit poisoned record via CNA API
  4. Install
    Payload persists in vulnerability record storage
  5. C2
    Victim navigates to public /cve/<id> or /vuln/<id> page
  6. Execute
    Malicious script executes in victim's browser context
  7. Impact
    Exfiltrate session data or perform actions as victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Write-side exploitation requires an authenticated account holding either the vulnerability:create or vulnerability:modify permission within the Vulnerability-Lookup application - this is the concrete prerequisite. The attacker must submit a crafted value into the containers.cna.references[].tags[] field of a vulnerability record via the CNA API; no other field or feature is involved. Once the payload is stored, no further attacker interaction is needed. Victim-side triggering requires only that a user loads the public /cve/<id> or /vuln/<id> page corresponding to the poisoned record in a JavaScript-enabled browser (UI:A from the CVSS vector) - victims do not need any account or session. Exploitation is limited by: the requirement for a write-permission account (attacker must be registered and credentialed); the need for victim page load (no drive-by without user navigation); and the absence of any indication that the vulnerability is being actively exploited or that exploit code is publicly circulating beyond the patch test case. Deployments where all write-permission holders are fully trusted internal staff face negligible real-world risk.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N) warrants close reading: the PR:N metric reflects that victims require no privileges to trigger execution simply by visiting a page, but the write-side prerequisite - a vulnerability:create or vulnerability:modify account - means the attacker role is not anonymous. This attacker-victim role asymmetry is not fully captured in the base vector and should inform triage. The SC:H rating for subsequent-system confidentiality is appropriate given that Vulnerability-Lookup users may be security researchers or incident responders whose browser sessions carry sensitive context. No EPSS data was supplied and this CVE does not appear in CISA KEV, indicating no confirmed widespread exploitation. The patch commit itself includes a functional XSS payload in its test case, materially lowering the barrier for any would-be reproducer and making rapid patching more urgent than the moderate base score alone might suggest. Even a mid-sized municipal IT team in mielec self-hosting this platform for internal vulnerability tracking should treat this as a near-term priority if any external contributor accounts with write permissions exist, since the attack surface expands proportionally with the number of trusted reporter accounts. Overall real-world risk is moderate for isolated internal deployments and meaningfully higher for publicly accessible instances with open CNA contributor registration.

Exploit ScenarioDerived

An attacker holding a vulnerability:create account on a target Vulnerability-Lookup instance submits a new vulnerability record via the CNA API with a reference tag containing a crafted payload such as the one demonstrated in the fix's test suite: an img element with an onerror handler. The record is stored and the payload is rendered unsanitized on the public /cve/<id> page accessible to all visitors. When a security analyst, unauthenticated researcher, or any browser user loads that page, the JavaScript executes in the context of the Vulnerability-Lookup origin, enabling the attacker to exfiltrate session cookies, perform authenticated actions on behalf of the victim, or inject further content into the page.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 12, 2026

Stored cross-site scripting in Vulnerability-Lookup's render_tag_badges Jinja filter allows an authenticated user holding the vulnerability:create or vulnerability:modify permission to persist arbitrary JavaScript in public vulnerability record pages by submitting crafted reference tags via the CNA API. The flaw stems from markupsafe.Markup being applied to attacker-controlled tag values before HTML escaping, effectively suppressing Jinja's automatic sanitization and causing the payload to execute in any visitor's browser - including unauthenticated users - upon page load. No public exploit has been identified at time of analysis beyond the functional XSS payload embedded in the fix's test suite; a patch is available as upstream commit d29901655c50cf3c25737d9ea86180268df51b57.

RemediationAI

The upstream fix is available as commit d29901655c50cf3c25737d9ea86180268df51b57 in the vulnerability-lookup/vulnerability-lookup GitHub repository; operators running self-hosted instances should update to a version containing this commit as the primary remediation. A patched tagged release version has not been independently confirmed from available data, so operators should verify release tags against the fix commit directly. If an immediate upgrade cannot be performed, the most effective compensating control is to restrict or revoke the vulnerability:create and vulnerability:modify permissions from all non-essential or externally-sourced accounts, limiting write access to fully trusted internal personnel - note that this control disrupts CNA contributor workflows and may not be acceptable in collaborative deployments. Blocking network access to the CNA API submission endpoints for untrusted network segments offers partial protection on the write side but does not remove already-stored malicious payloads; any existing vulnerability records submitted by untrusted contributors should be audited for crafted tag values. There is no server-side configuration toggle to disable the render_tag_badges filter without code changes.

Affected VersionsENISA

Vulnerability-Lookup 0 ≤5.5.1

Affected Packages

euvd vulnerability_lookup no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Vulnerability-Lookup (CPE: cpe:2.3:a:vulnerability-lookup:vulnerability-lookup:*:*:*:*:*:*:*:*) is an open-source web application maintained by CIRCL for aggregating and displaying vulnerability intelligence records including CVE entries. The vulnerable code path is the render_tag_badges filter in website/web/filters/__init__.py, which iterates over values from containers.cna.references[].tags[] - fields populated via the CNA API - and interpolates each directly into an HTML f-string badge element. The resulting string was then wrapped in markupsafe.Markup, which signals to Jinja2 that the content should be rendered verbatim as trusted HTML, bypassing the template engine's automatic context-aware escaping. This is a textbook Markup-escape inversion anti-pattern: markupsafe.Markup is intended to wrap content that has already been sanitized or is statically trusted, not to wrap dynamically constructed strings containing attacker-supplied values. CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting) is the precise root cause class. The fix correctly inverts the operation by calling markupsafe.escape() on each tag value prior to f-string interpolation, reserving Markup only for the surrounding static HTML scaffold.

Know when Vulnerability Lookup gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CIRCL) PRIMARY 6.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

PR:L because the attacker requires a reporter-level account to store the payload; S:C and UI:R because execution occurs in the victim's browser scope upon page load.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (CIRCL).

CVSS VectorVendor: CIRCL

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A stored cross-site scripting (XSS) vulnerability existed in Vulnerability-Lookup in the render_tag_badges Jinja filter used to display reference tags associated with vulnerability records.

Values from containers.cna.references[].tags[] were directly interpolated into HTML badge elements and the resulting string was wrapped in markupsafe.Markup. Because Markup marks the generated content as safe, Jinja's automatic HTML escaping was bypassed.

An authenticated user with permissions to create or modify vulnerability records, such as a user holding the vulnerability:create or vulnerability:modify permission, could submit a crafted reference tag through the CNA API containing arbitrary HTML or JavaScript-capable markup.

The malicious value would subsequently be stored as part of the vulnerability record. When another user visited the corresponding public /cve/<id> or /vuln/<id> page, the crafted tag would be rendered as HTML in the viewer's browser. This could result in JavaScript execution in the security context of the Vulnerability-Lookup application.

Successful exploitation could allow an attacker to perform actions in the context of a victim, access information available to the victim's browser session, or modify page content. As the affected vulnerability pages can be accessed publicly, exploitation may affect users who are not authenticated.

The issue was corrected by applying markupsafe.escape() to each reference tag before inserting it into the HTML badge markup, while retaining Markup only for the static HTML scaffolding.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche open-source vulnerability aggregation tool with limited broad enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy