CVE-2021-26296

7.5 HIGH

📋 TL;DR

Apache MyFaces Core uses cryptographically weak CSRF tokens in default configurations, allowing attackers to potentially predict future token values and trick users into performing unauthorized actions. This affects applications using Apache MyFaces Core versions 2.2.0-2.2.13, 2.3.0-2.3.7, 2.3-next-M1 to M4, and 3.0.0-RC1.

💻 Affected Systems

Products:
  • 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
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable in default configuration; applications using custom CSRF token implementations may not be affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could perform CSRF attacks to execute privileged actions as authenticated users, potentially leading to data theft, account takeover, or unauthorized administrative changes.

🟠

Likely Case

Targeted CSRF attacks against specific users to perform actions within their privilege level, such as changing settings, making transactions, or modifying data.

🟢

If Mitigated

Limited impact with proper CSRF protections, strong session management, and additional authentication requirements for sensitive actions.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires predicting CSRF tokens, which is difficult but possible due to weak cryptography. Attackers need to trick authenticated users into visiting malicious pages.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.2.14, 2.3.8, 3.0.0

Vendor Advisory: https://lists.apache.org/thread.html/r2b73e2356c6155e9ec78fdd8f72a4fac12f3e588014f5f535106ed9b%40%3Cannounce.apache.org%3E

Restart Required: Yes

Instructions:

1. Identify Apache MyFaces Core version. 2. Upgrade to patched version: 2.2.14, 2.3.8, or 3.0.0. 3. Update dependencies in your application. 4. Restart application server. 5. Test application functionality.

🔧 Temporary Workarounds

Implement Custom CSRF Protection

all

Replace default CSRF token implementation with stronger cryptographic tokens or use additional CSRF protection mechanisms.

Enable SameSite Cookies

all

Configure session cookies with SameSite=Strict or SameSite=Lax attributes to mitigate CSRF attacks.

🧯 If You Can't Patch

  • Implement additional CSRF protections like double-submit cookies or custom token validation
  • Add re-authentication requirements for sensitive actions and implement strict referer checking

🔍 How to Verify

Check if Vulnerable:

Check application's Apache MyFaces Core version against affected versions. Review web.xml for CSRF configuration.

Check Version:

Check Maven/Gradle dependencies or application server logs for Apache MyFaces Core version

Verify Fix Applied:

Verify upgraded to patched version (2.2.14, 2.3.8, or 3.0.0) and test CSRF protection functionality.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed CSRF token validations from same user
  • Unexpected administrative actions from regular users

Network Indicators:

  • Cross-origin requests with valid CSRF tokens
  • Requests with predictable token patterns

SIEM Query:

source="web_server" AND (event="CSRF_TOKEN_VALIDATION_FAILED" OR event="UNAUTHORIZED_ACTION")

🔗 References

📤 Share & Export