事件经过
Docker/Apptainer工作区启动器将沙箱代理服务器启动在0.0.0.0上,且session_api_keys列表为空,因此代理服务器自身的身份验证默认被禁用。修复提交将端口发布改为仅回环(127.0.0.1:8010:8000),并转发会话密钥以使客户端和服务器一致。已通过NVD(CVSS 9.8)和修复提交确认。
影响分析
OpenHands是流行自主编码代理平台的沙箱代理运行时;默认开启的未认证RCE意味着任何网络可达的代理沙箱都会让攻击者获得root执行权限,以及访问宿主机挂载的工作区和存储的机密。这是一个设计为代理执行的环境,因此远程shell执行是直接通向宿主机和云凭据泄露的路径。
攻击途径
DockerWorkspace和Apptainer工作区启动器将沙箱代理服务器绑定到所有网络接口(0.0.0.0),且session_api_keys列表为空,默认禁用身份验证。未认证的攻击者若能访问发布的容器端口,可发送HTTP/WebSocket请求在沙箱内以root身份执行任意shell命令、访问挂载的工作区并读取明文机密。
受影响系统
OpenHands软件代理SDK 1.52.0之前版本(0到<1.52.0的所有版本)。
缓解措施
升级到OpenHands软件代理SDK 1.52.0。修复将发布的端口绑定到回环(127.0.0.1)并转发/验证会话API密钥。