Cross-Site Scripting in @ionic/coreGHSA-r3xc-47qg-h929
GHSA-r3xc-47qg-h929 is a security vulnerability in @ionic/core. A fix is available for @ionic/core — see the affected versions and patch details below.
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.
@ionic/corenpmDescription
Versions of @ionic/core prior to 4.0.3, 4.1.3, 4.2.1 or 4.3.1 are vulnerable to Cross-Site Scripting (XSS). The package uses the unsafe innerHTML function without sanitizing input, which may allow attackers to execute arbitrary JavaScript on the victim's browser. This issue affects the components:
<ion-alert>.message<ion-searchbar>.placeholder<ion-infinite-scroll-content>.loadingText<ion-refresher-content>.pullingText<ion-refresher-content>.refershingText
Recommendation
- If you are using @ionic/core 4.0.x, upgrade to 4.0.3 or later.
- If you are using @ionic/core 4.1.x, upgrade to 4.1.3 or later.
- If you are using @ionic/core 4.2.x, upgrade to 4.2.1 or later.
- If you are using @ionic/core 4.3.x, upgrade to 4.3.1 or later.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @ionic/core | all versions | 4.0.3npm install @ionic/core@4.0.3 |
| 📦npm | @ionic/core | ≥ 4.1.0&&< 4.1.3 | 4.1.3npm install @ionic/core@4.1.3 |
| 📦npm | @ionic/core | ≥ 4.2.0&&< 4.2.1 | 4.2.1npm install @ionic/core@4.2.1 |
| 📦npm | @ionic/core | ≥ 4.3.0&&< 4.3.1 | 4.3.1npm install @ionic/core@4.3.1 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @ionic/core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @ionic/core to 4.0.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-r3xc-47qg-h929 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is GHSA-r3xc-47qg-h929 in your dependencies?
Find it across npm, including transitive dependencies.