8.6
CWE
697 551 863
Advisory Published
Updated

CVE-2021-32779: Incorrectly handling of URI '#fragment' element as part of the path element

First published: Tue Aug 24 2021(Updated: )

Envoy is an open source L7 proxy and communication bus designed for large modern service oriented architectures. In affected versions envoy incorrectly handled a URI '#fragment' element as part of the path element. Envoy is configured with an RBAC filter for authorization or similar mechanism with an explicit case of a final "/admin" path element, or is using a negative assertion with final path element of "/admin". The client sends request to "/app1/admin#foo". In Envoy prior to 1.18.0, or 1.18.0+ configured with path_normalization=false. Envoy treats fragment as a suffix of the query string when present, or as a suffix of the path when query string is absent, so it evaluates the final path element as "/admin#foo" and mismatches with the configured "/admin" path element. In Envoy 1.18.0+ configured with path_normalization=true. Envoy transforms this to /app1/admin%23foo and mismatches with the configured /admin prefix. The resulting URI is sent to the next server-agent with the offending "#foo" fragment which violates RFC3986 or with the nonsensical "%23foo" text appended. A specifically constructed request with URI containing '#fragment' element delivered by an untrusted client in the presence of path based request authorization resulting in escalation of Privileges when path based request authorization extensions. Envoy versions 1.19.1, 1.18.4, 1.17.4, 1.16.5 contain fixes that removes fragment from URI path in incoming requests.

Credit: security-advisories@github.com

Affected SoftwareAffected VersionHow to fix
Envoyproxy Envoy>=1.16.0<1.16.5
Envoyproxy Envoy>=1.17.0<1.17.4
Envoyproxy Envoy>=1.18.0<1.18.4
Envoyproxy Envoy=1.19.0

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is CVE-2021-32779?

    CVE-2021-32779 is a vulnerability found in Envoy, an open-source L7 proxy and communication bus, which incorrectly handles a URI '#fragment' element as part of the path element.

  • What is the severity of CVE-2021-32779?

    CVE-2021-32779 has a severity score of 8.3, which is considered high.

  • How does CVE-2021-32779 affect Envoy?

    CVE-2021-32779 affects Envoy versions 1.16.0 to 1.16.5, 1.17.0 to 1.17.4, 1.18.0 to 1.18.4, and 1.19.0.

  • What is the fix for CVE-2021-32779?

    To fix CVE-2021-32779, it is recommended to upgrade to a patched version of Envoy.

  • Where can I find more information about CVE-2021-32779?

    More information about CVE-2021-32779 can be found at the GitHub advisory page (https://github.com/envoyproxy/envoy/security/advisories/GHSA-r222-74fw-jqr9) and the Envoy documentation (https://www.envoyproxy.io/docs/envoy/v1.19.0/version_history/version_history).

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203