LiveActive security incident?Get immediate response
CVE Record

CVE-2026-22028: Preact has JSON VNode Injection issue

Preact, a lightweight web development framework, JSON serialization protection to prevent Virtual DOM elements from being constructed from arbitrary JSON. A regression introduced in Preact 10.26.5 caused this protection to be softened. In applications where values from JSON payloads are assumed to be strings and passed unmodified to Preact as children, a specially-crafted JSON payload could be constructed that would be incorrectly treated as a valid VNode. When this chain of failures occurs it can result in HTML injection, which can allow arbitrary script execution if not mitigated by CSP or other means. Applications using affected Preact versions are vulnerable if they meet all of the following conditions: first, pass unmodified, unsanitized values from user-modifiable data sources (APIs, databases, local storage, etc.) directly into the render tree; second assume these values are strings but the data source could return actual JavaScript objects instead of JSON strings; and third, the data source either fails to perform type sanitization AND blindly stores/returns raw objects interchangeably with strings, OR is compromised (e.g., poisoned local storage, filesystem, or database). Versions 10.26.10, 10.27.3, and 10.28.2 patch the issue. The patch versions restore the previous strict equality checks that prevent JSON-parsed objects from being treated as valid VNodes. Other mitigations are available for those who cannot immediately upgrade. Validate input types, cast or validate network data, sanitize external data, and use Content Security Policy (CSP).

HighCVSS 7.2Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2026-22028 affects Preact applications using specific 10.x versions. Under particular data-handling conditions, attacker-controlled JSON objects may be treated as Preact virtual DOM nodes instead of plain text. This can lead to HTML injection and potentially script execution if defenses such as CSP do not block it.

Executive priority

Prioritize internet-facing or user-content-heavy Preact applications first. The issue is high severity but conditional: risk depends on affected versions plus unsafe rendering of untrusted data. Patch during the next urgent dependency update cycle, faster for apps handling untrusted or compromised data sources.

Technical view

A regression in Preact 10.26.5 softened JSON serialization protections that previously prevented JSON-parsed objects from becoming valid VNodes. Vulnerability requires unsanitized user-modifiable data passed directly as children, incorrect string assumptions, and weak or compromised type handling. Fixed versions restore strict equality checks: 10.26.10, 10.27.3, and 10.28.2.

Likely exposure

Exposure is limited to applications using affected Preact versions and unsafe data flows. Highest concern is apps rendering user-controlled API, database, local storage, filesystem, or similar data directly into the Preact render tree without type validation or sanitization.

Exploitation context

The CVE record says exploitation requires a chain of application failures and has CVSS attack requirements present. The source bundle does not indicate known active exploitation, and CISA KEV status is false. Impact can include arbitrary script execution if CSP or other controls do not mitigate injection.

Researcher notes

Focus review on JSON-to-render boundaries where objects may be accepted where strings are expected. The advisory identifies CWE-843 and fixed version ranges. Avoid assuming all Preact apps are vulnerable; the source states all listed application conditions must align for exploitability.

Mitigation direction

  • Upgrade Preact to 10.26.10, 10.27.3, 10.28.2, or later appropriate fixed versions.
  • Validate that render-tree children expected as strings are actually strings.
  • Cast or validate network and stored data before rendering.
  • Sanitize external or user-modifiable data before passing it to Preact.
  • Use Content Security Policy to reduce script execution impact.

Validation and detection

  • Inventory applications and dependencies for affected Preact version ranges.
  • Review code paths passing API, database, local storage, or filesystem data into Preact children.
  • Confirm type validation exists before rendering values assumed to be strings.
  • Verify installed Preact versions match fixed releases.
  • Assess CSP coverage for pages rendering user-modifiable content.
Prepared
Confidence
high
Sources
3

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

CWE-843: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. 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
description · low confidence lookup

Database behavior lookup

The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-22028 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
High
CVSS
7.2 (4.0)
Known Exploited
No
Published

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U

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
2Source 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
7.2CVSS 4.0HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U——Primary CVE score

Vulnerability scoring details

Base CVSS 4.0 score

7.2High
CVSS 4.0 vector shape for CVE-2026-22028Attack VectorAttack ComplexityAttack RequirementsPrivileges RequiredUser InteractionVS ConfidentialityVS IntegrityVS AvailabilitySS ConfidentialitySS IntegritySS Availability

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Attack Requirements
NonePresent
Privileges Required
NoneLowHigh
User Interaction
NonePassiveActive
VS Confidentiality
HighLowNone
VS Integrity
HighLowNone
VS Availability
HighLowNone
SS Confidentiality
HighLowNone
SS Integrity
HighLowNone
SS Availability
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
preactjspreact>= 10.26.5, < 10.26.10, >= 10.27.0, < 10.27.3, >= 10.28.0, < 10.28.2Listed
Weakness

CWE details

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

CWE-843 · source CWE mapping

Access of Resource Using Incompatible Type ('Type Confusion')

Access of Resource Using Incompatible Type ('Type Confusion') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.