worker进程没有崩溃且返回200,是因为该漏洞触发的异常被应用框架的全局错误处理中间件捕获并吞没,导致请求正常结束。具体做法是检查应用的路由层和异常处理逻辑,确认是否存在未抛出的静默失败或默认的成功响应逻辑。

全局异常处理如何拦截了致命错误
全局异常处理机制在错误发生到进程退出之间截获了堆栈跟踪。开发者需要查看中间件配置,确保错误对象没有被转换为HTTP 200状态码的JSON响应。通常这是因为框架将内部错误映射为了客户端可处理的格式,或者路由层直接返回了成功状态。

app.use((err, req, res, next) => {
if (err.type === 'entity.parse.failed') {
// 某些框架可能在此处返回 200 而非 400/500
res.status(200).json({ status: 'ok', message: 'processed' });
} else {
next(err);
}
});
为什么Worker进程保持存活状态
Worker进程保持存活是因为致命错误并未触发进程的uncaughtException监听器中的退出逻辑,或者错误发生在异步回调中且未被正确传播。开发者应检查进程的信号处理和错误边界,确认是否有代码阻止了进程因严重错误而终止。

process.on('uncaughtException', (err) => {
console.error('Uncaught Exception:', err);
// 如果这里没有调用 process.exit(1),进程将继续运行
});
基于CVE-2026-109618的具体输入条件分析
当输入包含特定的恶意构造数据时,解析器抛出异常但被上层逻辑捕获。通过模拟该CVE的特定输入,可以验证错误是否真的被吞没。开发者应使用相同的输入进行测试,观察返回的状态码和日志输出,以确认漏洞利用后的实际行为。











