生产环境好好的,突然前端请求全部跨域,请求 500。gateway 报错。
reactor.core.Exceptions$ErrorCallbackNotImplemented:java.lang.IndexOutOfBoundsException: Index: 0, Size: 0。所有的接口都报。
原因
由于 gateway 也集成了 springboot-admin,开启了应用程序的 actuator 端点,导致受到代码注入的攻击
关于 SCG 远程执行漏洞情况说明:
https://mp.weixin.qq.com/s?__biz=MzI3NDM2OTQxNg==&mid=2247484316&idx=1&sn=d38c21e3b5e7a9d87a768a395d899613&chksm=eb145d7bdc63d46d3b49190da843070d8c29ed1ad22e1273e48ee1c20d479664591a43f36e74&version=4.0.0.90415&platform=mac#rd
临时解决方式,直接 nginx 拦截该路径,conf 添加如下配置,reload nginx 即可。
location /actuator {
return 404;
}
版本加固: 升级至安全版本 3.1.x -> 3.1.1,3.0.x -> 3.0.7+