CXF supports (via JwtRequestCodeFilter) passing OAuth 2 parameters via a JWT token as opposed to query parameters (see: The OAuth 2.0 Authorization Framework: JWT Secured Authorization Request (JAR)). Instead of sending a JWT token as a "request" parameter, the spec also supports specifying a URI from which to retrieve a JWT token from via the "request_uri" parameter. CXF was not validating the "request_uri" parameter (apart from ensuring it uses "https) and was making a REST request to the parameter in the request to retrieve a token. This means that CXF was vulnerable to DDos attacks on the authorization server, as specified in section 10.4.1 of the spec. This issue affects Apache CXF versions prior to 3.4.3; Apache CXF versions prior to 3.3.10. Reference: https://cxf.apache.org/security-advisories.data/CVE-2021-22696.txt.asc https://lists.apache.org/thread.html/r6445001cc5f9a2bb1e6316993753306e054bdd1d702656b7cbe59045@%3Cannounce.apache.org%3E
Looking at the binary from here: http://cxf.apache.org/download.html apache-cxf-3.4.3]$ grep -r JwtRequestCodeFilter Binary file lib/cxf-rt-rs-security-oauth2-3.4.3.jar matches That makes sense given that it's a DoS in the OAuth service. Based on this OpenShift products do not package cxf-rt-rs-security-oauth2 at all, so marking logging-elasticsearch containers as not affected.
External References: https://cxf.apache.org/security-advisories.data/CVE-2021-22696.txt.asc
I believe the upstream fix is to disable request_uri: - https://github.com/apache/cxf/commit/7d5d2c7a019dd1e1d0566daf9f1ed5b7b0dd66b7 Especially given: This method must be overridden to support request_uri. Take care to validate the request_uri properly, * as otherwise it could lead to a security problem * (https://tools.ietf.org/html/draft-ietf-oauth-jwsreq-30#section-10.4) And possibly also to ensure both request_uri and request can't exist together: - https://github.com/apache/cxf/commit/aee3bf291a7387cc492aa0dbdb0fb2af96687994
Addition to comment #1 OpenShift 3.11 openshift3/ose-logging-elasticsearch5 does not have any reference to the cxf package and hence isn't added to the affects whiteboard, just openshift 4.
This issue has been addressed in the following products: Red Hat Fuse 7.10 Via RHSA-2021:5134 https://access.redhat.com/errata/RHSA-2021:5134
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2021-22696
Issue persists with fuse - 3.3.6.fuse-7_10_0-00022-redhat-00001. Can someone confirm if the issue was resolved?
This issue has been addressed in the following products: JWS 5.7.0 Via RHSA-2022:7273 https://access.redhat.com/errata/RHSA-2022:7273