CVE-2026-33347
mediumpriority · track · 24EPSS 0.003 · 16 %ileDEEUUSEPSS · scored 2026-10-27
league/commonmark is a PHP Markdown parser. From version 2.3.0 to before version 2.8.2, the DomainFilteringAdapter in the Embed extension is vulnerable to an allowlist bypass due to a missing hostname boundary assertion in the domain-matching regex. An attacker-controlled domain like youtube.com.evil passes the allowlist check when youtube.com is an allowed domain. This issue has been patched in version 2.8.2.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 1.7–6.3
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (5)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- WID-SEC-W-2026-1001Snipe-IT: Mehrere Schwachstellen ermöglichen Umgehen von Sicherheitsvorkehrungen und potenziell Cross-Site ScriptingDeutsch2026-04-07csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Snipe-IT ausnutzen, um Sicherheitsvorkehrungen zu umgehen, und potenziell um einen Cross-Site Scripting Angriff durchzuführen.
- GHSA-hh8v-hgvp-g3f5league/commonmark has an embed extension allowed_domains bypass2026-03-19ghsa · osvUS
### Impact The `DomainFilteringAdapter` in the Embed extension is vulnerable to an allowlist bypass due to a missing hostname boundary assertion in the domain-matching regex. An attacker-controlled domain like `youtube.com.evil` passes the allowlist check when `youtube.com` is an allowed domain. This enables two attack vectors: - **SSRF**: The `OscaroteroEmbedAdapter` makes server-side HTTP requests to the embed URL via the `embed/embed` library. A bypassed domain filter causes the server to make outbound requests to an attacker-controlled host, potentially probing internal services or exfiltrating request metadata. - **XSS**: `EmbedRenderer` outputs the oEmbed response HTML directly into the page with no sanitization. An attacker controlling the bypassed domain can return arbitrary HTML/JavaScript in their oEmbed response, which is rendered verbatim. Any application using the `Embed` extension and relying on `allowed_domains` to restrict domains when processing untrusted Markdown input is affected. ### Patches This has been patched in version **2.8.2**. The fix replaces the regex-based domain check with explicit hostname parsing using `parse_url()`, ensuring exact domain and subdomain matching only. ### Workarounds - Disable the `Embed` extension, or restrict its use to trusted users - Provide your own domain-filtering implementation of `EmbedAdapterInterface` - Enable a [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) and outbound firewall restrictions
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (10)
External citations — patches, advisories, analysis.
- https://github.com/thephpleague/commonmark/commit/59fb075d2101740c337c7216e3f32b36c204218bcnnvd
- https://github.com/thephpleague/commonmark/releasesPatchcnnvd
- https://github.com/thephpleague/commonmark/releases/tag/2.8.2cnnvd
- https://github.com/thephpleague/commonmark/security/advisories/GHSA-hh8v-hgvp-g3f5cnnvd
- https://github.com/thephpleague/commonmark/commit/59fb075d2101740c337c7216e3f32b36c204218benisa_euvd
- https://github.com/thephpleague/commonmark/releases/tag/2.8.2enisa_euvd
- https://github.com/thephpleague/commonmark/security/advisories/GHSA-hh8v-hgvp-g3f5enisa_euvd
- https://github.com/thephpleague/commonmark/commit/59fb075d2101740c337c7216e3f32b36c204218bPatchnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan