LiveActive security incident?Get immediate response
CVE Record

CVE-2026-28338: PMD Designer has Stored XSS in VBHTMLRenderer and YAHTMLRenderer via unescaped violation messages

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.

MediumCVSS 6.8Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

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.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

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 · medium confidence lookup

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 lookup
cve · low confidence lookup

CVE-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
Vulnerability profileCVE Program record
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

Official CVE source material

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.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We 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.

ScoreVersionSeverityVectorExploitImpactSource
6.8CVSS 3.1MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N1.65.2Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

6.8Medium
CVSS 3.1 vector shape for CVE-2026-28338Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
pmdpmd< 7.22.0Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-79 · source CWE mapping

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.