CVE-2022-0087 is a high-severity (CVSS 7.1) Cross-site Scripting (XSS) vulnerability in @keystone-6/auth. 1 public exploit or proof-of-concept reference is indexed, so weaponization risk is real. A fix is available for @keystone-6/auth — see the affected versions and patch details below.
Cross-site Scripting (XSS) - Reflected in keystonejs/keystone
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.
@keystone-6/authnpm@keystone-next/authnpmDescription
This security advisory relates to a capability for an attacker to exploit a reflected cross-site scripting vulnerability when using the @keystone-6/auth package.
Impact
The vulnerability can impact users of the administration user interface when following an untrusted link to the signin or init page.
This is a targeted attack and may present itself in the form of phishing and or chained in conjunction with some other vulnerability.
Vulnerability mitigation
Please upgrade to @keystone-6/auth >= 1.0.2, where this vulnerability has been closed.
If you are using @keystone-next/auth, we strongly recommend you upgrade to @keystone-6.
Workarounds
If for some reason you cannot upgrade the dependencies in software, you could alternatively
- disable the administration user interface, or
- if using a reverse-proxy, strip query parameters when accessing the administration interface
References
https://owasp.org/www-community/attacks/xss/
Thanks to Shivansh Khari (@Shivansh-Khari) for discovering and reporting this vulnerability
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | @keystone-6/auth | all versions | 1.0.2npm install @keystone-6/auth@1.0.2 |
| 📦npm | @keystone-next/auth | all versions | No fix |
Affected Products
keystonekeystonejsResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for @keystone-6/auth, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update @keystone-6/auth to 1.0.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-0087 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.
How to detect CVE-2022-0087
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2022-0087 -u https://target- Template
- Keystone 6 Login Page - Open Redirect and Cross-Site Scripting
- Severity
- medium
- Impact
- Attackers can redirect users to malicious websites or inject malicious JavaScript via the from parameter, potentially facilitating phishing attacks or stealing user credentials.
- Remediation
- Please upgrade to @keystone-6/auth >= 1.0.2, where this vulnerability has been closed. If you are using @keystone-next/auth, we strongly recommend you upgrade to @keystone-6
Template by ProjectDiscovery nuclei-templates (ShivanshKhari), MIT licensed. View the full template. Scan only systems you are authorised to test.
Frequently Asked Questions
Is CVE-2022-0087 in your dependencies?
Find it across npm, including transitive dependencies.