@valtimo/components exposes access token to form.ioGHSA-xcp4-62vj-cq3r
CRITICALFix: valtimo-platform/valtimo-frontend-libraries@1aaba5eGHSA-xcp4-62vj-cq3r is a critical-severity (CVSS 9.8) CWE-532 vulnerability in @valtimo/components. A fix is available for @valtimo/components — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-xcp4-62vj-cq3r.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
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.
@valtimo/componentsnpmDescription
Valtimo is an open source business process and case management platform. When opening a form in Valtimo, the access token (JWT) of the user is exposed to api.form.io via the the x-jwt-token header. An attacker can retrieve personal information from this token, or use it to execute requests to the Valtimo REST API on behalf of the logged-in user. This issue is caused by a misconfiguration of the Form.io component.
The following conditions have to be met in order to perform this attack: An attacker needs to have access to the network traffic on the api.form.io domain; the content of the x-jwt-token header is logged or otherwise available to the attacker; an attacker needs to have network access to the Valtimo API; and an attacker needs to act within the time-to-live of the access token. The default TTL in Keycloak is 5 minutes.
Versions 10.8.4, 11.1.6 and 11.2.2 have been patched.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @valtimo/components | all versions | 10.8.4npm install @valtimo/components@10.8.4 |
| 📦npm | @valtimo/components | ≥ 11.0.0&&< 11.1.6 | 11.1.6npm install @valtimo/components@11.1.6 |
| 📦npm | @valtimo/components | ≥ 11.2.0&&< 11.2.2 | 11.2.2npm install @valtimo/components@11.2.2 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @valtimo/components, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @valtimo/components to 10.8.4 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-xcp4-62vj-cq3r 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.
Frequently Asked Questions
Is GHSA-xcp4-62vj-cq3r in your dependencies?
Find it across npm, including transitive dependencies.