Fix null metadata dereference in Thrift proxy router for shadow traffic #38181
Envoy/Checks (success)
Check has finished
Details
Check run finished (success ✔️)
The check run can be viewed here:
Envoy/Checks (pr/38181/main@432baf3)
Check started by
Request (pr/38181/main@432baf3)
@PeterL328 432baf3
#38181 merge
main@969348a
Fix null metadata dereference in Thrift proxy router for shadow traffic
This commit addresses a segmentation fault in Envoy’s Thrift proxy when handling shadow traffic. The crash occurs due to a null pointer dereference of MessageMetadata within the shadow router path during response parsing from upstream. In scenarios where the Thrift decoder unexpectedly returns a complete parsing status without metadata, the previous logic led to crashing. Now, UpstreamRequest has been updated to include null-checks around metadata access during handleRegularResponse(), treating it as an error condition.
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]
Environment
Request variables
Key | Value |
---|---|
ref | de5b5c1 |
sha | 432baf3 |
pr | 38181 |
base-sha | 969348a |
actor | @PeterL328 |
message | Fix null metadata dereference in Thrift proxy router for shadow traffic... |
started | 1737719595.955923 |
target-branch | main |
trusted | false |
Build image
Container image/s (as used in this CI run)
Key | Value |
---|---|
default | envoyproxy/envoy-build-ubuntu:d2be0c198feda0c607fa33209da01bf737ef373f |
mobile | envoyproxy/envoy-build-ubuntu:mobile-d2be0c198feda0c607fa33209da01bf737ef373f |
Version
Envoy version (as used in this CI run)
Key | Value |
---|---|
major | 1 |
minor | 34 |
patch | 0 |
dev | true |