Cryptographically weak CSRF tokens in Apache MyFacesGHSA-gq67-pp9w-43gp
Fix: apache/myfaces@cc6e1ccGHSA-gq67-pp9w-43gp is a Cross-Site Request Forgery (CSRF) vulnerability in org.apache.myfaces.core:myfaces-core-module. 1 public exploit reference exists, so weaponization risk is real. A fix is available for org.apache.myfaces.core:myfaces-core-module — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
org.apache.myfaces.core:myfaces-core-module☕org.apache.myfaces.core:myfaces-core-module☕org.apache.myfaces.core:myfaces-core-module☕org.apache.myfaces.core:myfaces-core-moduleReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
In the default configuration, Apache MyFaces Core versions 2.2.0 to 2.2.13, 2.3.0 to 2.3.7, 2.3-next-M1 to 2.3-next-M4, and 3.0.0-RC1 use cryptographically weak implicit and explicit cross-site request forgery (CSRF) tokens. Due to that limitation, it is possible (although difficult) for an attacker to calculate a future CSRF token value and to use that value to trick a user into executing unwanted actions on an application.
Mitigation: Existing web.xml configuration parameters can be used to direct MyFaces to use SecureRandom for CSRF token generation:
org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN=secureRandom org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN=secureRandom org.apache.myfaces.RANDOM_KEY_IN_WEBSOCKET_SESSION_TOKEN=secureRandom
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.apache.myfaces.core:myfaces-core-module | all versions | 2.0.25org.apache.myfaces.core:myfaces-core-module:2.0.25 |
| ☕Maven | org.apache.myfaces.core:myfaces-core-module | ≥ 2.1.0&&< 2.1.19 | 2.1.19org.apache.myfaces.core:myfaces-core-module:2.1.19 |
| ☕Maven | org.apache.myfaces.core:myfaces-core-module | ≥ 2.2.0&&< 2.2.14 | 2.2.14org.apache.myfaces.core:myfaces-core-module:2.2.14 |
| ☕Maven | org.apache.myfaces.core:myfaces-core-module | ≥ 2.3.0&&< 2.3.8 | 2.3.8org.apache.myfaces.core:myfaces-core-module:2.3.8 |
Affected Products
myfacesapacheoncommand insightnetappResearch 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 org.apache.myfaces.core:myfaces-core-module, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.apache.myfaces.core:myfaces-core-module to 2.0.25 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-gq67-pp9w-43gp 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-gq67-pp9w-43gp in your dependencies?
Find it across Maven, including transitive dependencies.