PMD Designer has Stored XSS in VBHTMLRenderer and YAHTMLRenderer via unescaped violation messages
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- High
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
PMD is an extensible multilanguage static code analyzer. Prior to version 7.22.0, PMD's `vbhtml` and `yahtml` report formats insert rule violation messages into HTML output without escaping. When PMD analyzes untrusted source code containing crafted string literals, the generated HTML report contains executable JavaScript that runs when opened in a browser. Practical impact is limited because `vbhtml` and `yahtml` are legacy formats rarely used in practice. The default `html` format is properly escaped and not affected. Version 7.22.0 contains a fix for the issue.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pmd | pmd | before 7.22.0 | 7.22.0 | Patch available | CNA |
| — | net.sourceforge.pmd:pmd-core (Maven) | before 7.22.0 | 7.22.0 | Patch available | GHSA-8rr6-2qw5-pc7r |
- pmd Vendorpmd Affected before 7.22.0 Fixed in 7.22.0 Patch available CNA
- net.sourceforge.pmd:pmd-core (Maven) Vendor— Affected before 7.22.0 Fixed in 7.22.0 Patch available GHSA-8rr6-2qw5-pc7r
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:pmd_project:pmd:*:*:*:*:*:*:*:* | before 7.22.0 | Vulnerable | Pmd Project |
- cpe:2.3:a:pmd_project:pmd:*:*:*:*:*:*:*:* Versions before 7.22.0 Vulnerable ·Pmd Project
Remediation
- Fix · CNA pmd (pmd) Fixed in 7.22.0
- Fix · GHSA-8rr6-2qw5-pc7r net.sourceforge.pmd:pmd-core (Maven) Fixed in 7.22.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-28338
- 2026-10-03 Alias added: GHSA-8rr6-2qw5-pc7r
References
More pmd vulnerabilities
- TI-2025-17000 PMD Designer's release key passphrase (GPG) available on Maven Central in cleartext CVSS 4.0CRITICAL 9.3
Sources
- CVE-2026-28338 · CVE Program
- CVE-2026-28338 · NVD
- FIRST EPSS
- GHSA-8rr6-2qw5-pc7r · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences