Security readout for executives and security teams
Plain-English summary
PMD before 7.22.0 can generate unsafe HTML reports when using two legacy report formats, vbhtml and yahtml. If PMD scans untrusted code containing crafted text, opening the report in a browser can run JavaScript. The default html report format is not affected. Business urgency is moderate and focused on teams processing external or untrusted code.
Executive priority
Treat as a targeted tooling risk, not a broad emergency. Prioritize teams that scan third-party submissions, open-source contributions, student code, or other untrusted source. Upgrade during the next security maintenance window, faster if legacy HTML reports are used or published internally.
Technical view
CVE-2026-28338 is stored cross-site scripting in PMD’s VBHTMLRenderer and YAHTMLRenderer. Violation messages are inserted into generated HTML without escaping. The issue affects PMD versions before 7.22.0 when using vbhtml or yahtml report formats. CVSS is 6.8 with user interaction required and high attack complexity. PMD 7.22.0 contains the fix.
Likely exposure
Exposure is likely limited to CI, developer, or security tooling that runs PMD before 7.22.0 and publishes or opens vbhtml or yahtml reports. The advisory states these are legacy formats rarely used. The default html format is properly escaped and not affected.
Exploitation context
Sources do not report active exploitation, and this CVE is not marked KEV. Exploitation requires PMD to analyze untrusted crafted source code and a user to open the generated legacy HTML report in a browser. Impact could include script execution in the report viewer’s browser context.
Researcher notes
The root cause is unescaped rule violation messages in legacy HTML renderers. The public advisory, pull request, and commit identify the affected formats and fixed release. Evidence supports limited practical impact because default html is unaffected and vbhtml/yahtml are rarely used. No public source in the bundle indicates exploitation in the wild.
Mitigation direction
- Upgrade PMD to version 7.22.0 or later.
- Stop using vbhtml and yahtml report formats where possible.
- Use the default html format if it meets reporting needs.
- Avoid opening PMD reports generated from untrusted code until upgraded.
- Check PMD vendor guidance for any environment-specific recommendations.
Validation and detection
- Inventory PMD versions in developer workstations and CI systems.
- Identify pipelines or scripts using vbhtml or yahtml report formats.
- Confirm PMD is upgraded to 7.22.0 or later.
- Verify reporting workflows use escaped or unaffected formats.
- Review published legacy reports generated from untrusted code sources.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCVE-2026-28338 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Medium
- CVSS
- 6.8 (3.1)
- Known Exploited
- No
- Published
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N1.65.2Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
6.8MediumVector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Source materials
- CVE List V5 sourceCVE List V5
- https://github.com/pmd/pmd/security/advisories/GHSA-8rr6-2qw5-pc7rCVE reference · x_refsource_CONFIRM
- https://github.com/pmd/pmd/pull/6475CVE reference · x_refsource_MISC
- https://github.com/pmd/pmd/commit/c140c0e1de5853a08efb84c9f91dfeb015882442CVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
