CVE-2021-26296

Summary

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.

Affected Software

VendorProductVersion RangeStatus
Apache Software FoundationApache MyFaces CoreApache MyFaces Core 2.2 < 2.2.14affected
Apache Software FoundationApache MyFaces CoreApache MyFaces Core 2.3 < 2.3.8affected
Apache Software FoundationApache MyFaces CoreApache MyFaces Core 2.3-next < 2.3-next-M5affected
Apache Software FoundationApache MyFaces CoreApache MyFaces Core 3.0 < 3.0.0affected

Weaknesses

  • CWE-352: CWE-352 Cross-Site Request Forgery (CSRF)

Workarounds

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

ADP Enrichment

CVE Program Container

Additional References

References