GHSA-cg48-9hh2-x6mx — preact
Fix: developit/preact#1528GHSA-cg48-9hh2-x6mx is a security vulnerability in preact. A fix is available for preact — see the affected versions and patch details below.
HTML Injection in preact
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
preactnpmDescription
Versions of preact 10.x on prerelease tags alpha and beta prior to 10.0.0-beta.1 are vulnerable to HTML Injection. Due to insufficient input validation the package allows attackers to inject JavaScript objects as virtual-dom nodes, which may lead to Cross-Site Scripting. This requires user input parsed with JSON.parse() to be passed directly into JSX without sanitization.
Recommendation
Upgrade to version 10.0.0-beta.1.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | preact | ≥ 10.0.0-alpha.0&&< 10.0.0-beta.1 | 10.0.0-beta.1npm install preact@10.0.0-beta.1 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for preact, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update preact to 10.0.0-beta.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-cg48-9hh2-x6mx is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-cg48-9hh2-x6mx can be triaged on real exposure rather than presence alone.
Tailored to GHSA-cg48-9hh2-x6mx. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-cg48-9hh2-x6mx in your dependencies?
O3 Security finds GHSA-cg48-9hh2-x6mx across npm dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.