快速结论:当你在自托管 Langfuse 的 Docker 镜像里执行 node -p process.version 时,如果 4.72.0 镜像返回 v24.21.0,就会看到 bug: 4.72.0 images are back on Node.js 24.21.0 (regression of #19177) 这类判断。优先排查版本字符串是否只是补丁包造成的显示问题,不要立刻认定安全修复缺失。
适用环境:Langfuse Docker 镜像 langfuse/langfuse:4.72.0、langfuse/langfuse-worker:4.72.0;已确认 linux/arm64 与 linux/amd64;自托管 Docker Compose;Issue 未提供宿主机操作系统、Python、CUDA 或显卡信息。
最快修复方案:暂无确认的一步修复方案。Issue 最终确认这不是可复现的安全回归:镜像内的 Node 版本字符串仍为 v24.21.0,但仓库的 scripts/docker/nodejs-rpm/test-node-security-fixes.js 在 web/worker、arm64/amd64 镜像中均 10/10 通过。可优先尝试用该脚本验证,而不是仅凭 process.version 判断。
注意事项:process.version 输出的是打包 RPM 的版本字符串,Langfuse 使用打过补丁的 RPM 时该字符串可能未变,因此不能单独作为安全回归证据。Issue 讨论中只覆盖了 4.72.0 已发布镜像和上述脚本检查;其他版本、其他架构或后续镜像仍需自行验证。
问题场景
用户在自托管 Langfuse 的 Docker Compose 环境中拉取 langfuse/langfuse:4.72.0 或 langfuse/langfuse-worker:4.72.0,通过 node -p process.version 检查镜像内 Node.js 版本,发现返回 v24.21.0,而 4.70.1 返回 v24.22.1。由于 4.72.0 当时还是 latest 指向的版本,拉取 latest 的用户也会看到同样的版本字符串。
报错原文
bug: 4.72.0 images are back on Node.js 24.21.0 (regression of #19177)
docker run --rm --entrypoint node langfuse/langfuse:4.72.0 -p process.version
docker run --rm --entrypoint node langfuse/langfuse:4.70.1 -p process.version
node -p process.versions
node 24.21.0, brotli 1.2.0
原因分析
Issue 最初的判断是 4.72.0 镜像回退到了 Node.js 24.21.0,导致 10 月 Node 安全修复缺失。后续排查表明这可能只是版本字符串误导:Langfuse 的 Dockerfile 使用打过补丁的 RPM,而该 RPM 的版本字符串仍保持 24.21.0,上游当时也没有适用于其基础镜像的补丁。维护者也确认采用的正是这种 patch 方式,并说明 Node.js 的关键和高危 CVE 已修补。因此,单看 node -p process.version 不足以证明安全修复缺失。
环境排查
- 确认镜像标签与架构:
langfuse/langfuse:4.72.0、langfuse/langfuse-worker:4.72.0,并区分 linux/arm64 与 linux/amd64。 - 确认拉取的镜像是否为 Issue 中提到的发布摘要,例如 web 镜像
sha256:c311fd9db4b69f6514fdcb1b86a2a105d5a4ed51fbf0ded033ff2722459c804a、worker 镜像sha256:aa1724b989a00f1e4ca9930709202489c73deaaf2f1116bbd3d71c77edb8fedb。 - 检查镜像内
node -p process.version输出,同时检查process.versions中的 brotli 版本。 - 使用仓库当前的
scripts/docker/nodejs-rpm/test-node-security-fixes.js做功能验证,覆盖 Brotli、TLS、DNS 等探测项。 - Issue 未提供 Python、CUDA、PyTorch、显卡或 GPU 驱动信息,这些不需要作为本问题的排查前置条件。
解决步骤
- 不要仅依据版本字符串判定回归。先记录所拉取镜像的标签、架构和 digest。
- 在对应镜像内运行
node -p process.version,复现v24.21.0输出。 - 将仓库中的
scripts/docker/nodejs-rpm/test-node-security-fixes.js放入对应镜像环境执行,分别验证 web 和 worker 镜像。 - 在 arm64 和 amd64 上分别执行;Issue 中 amd64 检查时固定了 Docker platform。
- 若 10 项安全探测全部通过,包括 Brotli、TLS 和 DNS,则说明版本字符串未反映补丁内容,不需要额外“降级/升级 Node”的特殊处理。
- 若脚本无法通过,再保留镜像 digest、架构和完整输出,向项目方反馈,不要只提交
process.version结果。
验证方法
在对应架构的 4.72.0 web 和 worker 镜像中运行 scripts/docker/nodejs-rpm/test-node-security-fixes.js,确认 10/10 检查通过,尤其是 Brotli、TLS 和 DNS 探测。Issue 中 arm64 与 amd64 均已完成该验证;若你的检查也全部通过,可认为 v24.21.0 只是版本字符串显示问题,而不是缺失安全修复的回归。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


