{"id":"CVE-2026-48090","aliases":["BIT-envoy-2026-48090","EUVD-2026-39830","GHSA-3cj2-c63f-q26f","openSUSE-SU-2026:11141-1"],"status":"published","title":"Envoy HTTP: OAuth2 filter late async token completion after stream teardown (UAF / crash risk)","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","severity":{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00579,"percentile":0.48119,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-416"],"published":"2026-06-26T18:03:05Z","modified":"2026-10-28T02:30:27Z","fixes":[{"ecosystem":"Bitnami","package":"envoy","fixed_in":["1.37.5","1.38.3"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"envoy","ranges":[{"type":"SEMVER","events":[{"introduced":"1.37.0"},{"fixed":"1.37.5"},{"introduced":"1.38.0"},{"fixed":"1.38.3"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"istioctl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.2-1.1"}]}],"bundled":14}],"products":[{"vendor":"envoyproxy","product":"envoy"}],"references":[{"url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-3cj2-c63f-q26f","tags":["x_refsource_CONFIRM","exploit","Exploit","Mitigation","Vendor Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48090","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48090.json","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47204","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47205","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47207","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47220","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47221","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47692","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47775","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47778","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48042","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48044","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48090","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48497","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48706","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48743","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-48090","title":"Envoy HTTP: OAuth2 filter late async token completion after stream teardown (UAF / crash risk)","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","status":"published","published":"2026-06-26T18:03:05.257Z","modified":"2026-07-08T19:42:34.188Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T13:50:49.872037Z"}],"euvd":[{"id":"EUVD-2026-39830","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","status":"published","published":"2026-06-26T18:03:05Z","modified":"2026-07-08T19:42:34Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T18:20:10.095263Z"}],"nvd":[{"id":"CVE-2026-48090","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","status":"published","published":"2026-06-26T19:16:41.59Z","modified":"2026-10-25T17:10:00.197Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:12:26.045561Z"}],"osv":[{"id":"CVE-2026-48090","title":"Envoy HTTP: OAuth2 filter late async token completion after stream teardown (UAF / crash risk)","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","status":"published","published":"2026-06-26T18:03:05.257Z","modified":"2026-10-28T02:30:27.840659396Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T15:45:06.701612Z"},{"id":"BIT-envoy-2026-48090","title":"Envoy HTTP: OAuth2 filter late async token completion after stream teardown (UAF / crash risk)","description":"Envoy is an open source edge and service proxy designed for cloud-native applications. From 1.37.0 until 1.37.5 and 1.38.3, the HTTP OAuth2 filter (envoy.filters.http.oauth2) can leave an in-flight async token exchange attached to a downstream stream that has already been torn down. A late AsyncClient completion can still invoke OAuth2Filter methods that use StreamDecoderFilterCallbacks after that object’s lifetime has ended, causing undefined behavior, worker crashes (availability loss), and use-after-free / invalid-vptr failures under AddressSanitizer. This is a memory-safety / lifetime issue in the data plane, not a trivial config bug. Remote code execution is not claimed here; the primary demonstrated impact is DoS via crash and UB; any further impact would be deployment- and allocator-dependent.  This vulnerability is fixed in 1.37.5 and 1.38.3.","status":"published","published":"2026-06-30T23:39:35.098Z","modified":"2026-09-08T08:47:28.739534804Z","updated_at":"2026-11-02T15:28:29.563843Z"},{"id":"openSUSE-SU-2026:11141-1","title":"istioctl-1.30.2-1.1 on GA media","description":"These are all security issues fixed in the istioctl-1.30.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-28T00:00:00Z","modified":"2026-06-29T09:45:08.482872076Z","updated_at":"2026-11-02T16:58:38.95195Z"}]}}
