Geyser 漏洞警示/2024.04.10

Author
玄易同志
作者
2024-04-10
发布时间
MC生存服
分类
该漏洞会导致对外公开的 Geyser 基岩版转发端服务被当作 UDP 反射攻击的肉鸡使用
问题原因:基岩版使用 UDP 协议,而 UDP 协议不会验证数据包 IP 来源,导致攻击者可以伪造对应 IP 的握手数据包并诱导 geyser 向目标 IP 发送大量数据
测试版本一:2.2.0-SNAPSHOT (git-master-acf24d4)
在该版本下,在接收到攻击者使用 UDP 特性(不验证 IP)发来的伪装 IP 的数据包后,Geyser 将向目标 IP 发送极高频率的 148 长度的数据包,在 50Mbps 的宿主机环境下可以跑满带宽

测试版本二:2.2.2-SNAPSHOT (git-master-c9ca4c8)
在该版本下,在接收到攻击者伪造 IP 的数据包之后,Geyser 依旧会向受害者发送一定的数据包,但相对 2.2.0 版本已优化不少,不过还是会被判定为攻击(墨守已经被机房通知机器有对外攻击力)

解决方案:在接收到请求连接的数据包后,发送一个 cookie 数据包(包内包含一个四位 int 验证码)并要求对方以该验证码回应,回应正确后才进行下一步数据包发送,无回应或回应错误将不再继续发送数据(丢弃连接)
该问题已经在 Geyser 的 PR#4554 修复,但还未合并到正式发布版本
你可以在 check tab 里面下载,对应参考版本为 2.2.3
https://github.com/GeyserMC/Geyser/pull/4554/checks

参考 Issue:
https://github.com/GeyserMC/Geyser/issues/4558
参考 Pull request:
https://github.com/GeyserMC/Geyser/pull/4554
修复后,geyser 将只对每一个连接请求响应一个数据包,连接在未正确回复的情况下,不会再发送其他数据

MossCG 24.04.10 16:56