You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: ModifyResponseDecorator extends ServerHttpResponseDecorator and overrides only writeWith. The parent's writeAndFlushWith delegates directly to getDelegate().writeAndFlushWith(body). When the upstream response is streaming (SSE / text/event-stream, NDJSON), NettyClientMessageWriter calls response.writeAndFlushWith(...) which bypasses the decorator entirely. modifyResponseHeadersAndStatus() is never invoked — no header/status modification is applied.
impact: All ModifyResponse header and status rules are silently ignored for SSE/NDJSON responses, with no error.
suggested_fix: Override writeAndFlushWith in ModifyResponseDecorator to call modifyResponseHeadersAndStatus() before delegating.
shenyu-plugin/shenyu-plugin-modify-response/src/main/java/org/apache/shenyu/plugin/modify/response/ModifyResponsePlugin.java:83-107ModifyResponseDecoratorextendsServerHttpResponseDecoratorand overrides onlywriteWith. The parent'swriteAndFlushWithdelegates directly togetDelegate().writeAndFlushWith(body). When the upstream response is streaming (SSE /text/event-stream, NDJSON),NettyClientMessageWritercallsresponse.writeAndFlushWith(...)which bypasses the decorator entirely.modifyResponseHeadersAndStatus()is never invoked — no header/status modification is applied.writeAndFlushWithinModifyResponseDecoratorto callmodifyResponseHeadersAndStatus()before delegating.WebFluxResultUtils; this is the writeAndFlushWith bypass affecting all header/status mods for streaming.Medium
Identified during the 2026-08-02 deep re-scan; full list in
docs/scan2-2026-08-02/00-consolidated-critical-high.md.