漏洞总结:oxia-db/oxia 会话心跳处理中的竞态条件导致服务器崩溃 漏洞概述 oxia-db/oxia 在会话心跳处理中存在竞态条件。 方法在持有互斥锁的同时执行阻塞的 channel 发送操作。当 channel 缓冲区满且并发调用 时,会导致死锁(channel 缓冲区满)或 panic(向已关闭的 channel 发送数据)。 影响范围 受影响版本: 修复版本: 严重程度:High CVE ID:CVE-2026-40943 影响描述:远程客户端可以通过在会话过期或关闭期间发送快速的 请求来触发服务器崩溃。这属于拒绝服务(DoS)漏洞,会导致整个数据服务器进程崩溃。所有版本均受影响。 修复方案 通过更改 方法,使用带有 情况的非阻塞 语句,并在整个 操作期间持有会话管理器读锁来修复此问题。 详细信息 死锁机制:在 中, 方法执行阻塞的 发送。如果 channel 缓冲区已满(大小为 1),这将阻塞并持有会话互斥锁,从而阻止 获取锁来关闭 channel。 Panic 机制:在 中, 在调用 之前释放了会话管理器的读锁,从而创建了一个 TOCTOU(检查后使用)窗口,使得会话可以在查找和心跳调用之间被移除和关闭。 变通方法 无可用变通方法。