什麼!!Node.js v22 一次補了 28 個 CVE,但你的 NAS 裡可能不只一個 Node.js

最近套件中心的 Node.js v22 推了一個蠻大的安全更新:22.23.4-1011,更新說明一次列了 28 個 CVE。
如果只看介面,大概就是「有安全更新 → 按更新 → 完成」。

剛好 CyberQ 把更新前後拿來實測,我看完覺得蠻有意思,因為它讓人看到一台 NAS 裡的軟體其實有好幾層。

整理一下心得跟大家分享。

【先講好的:v22 的更新是真的】
CyberQ 是把 NAS 上的 Node.js v22,跟上游的 22.23.3(未修補)、22.23.4(已修補)做行為比對,測了 TLS 主機名驗證、dns.resolve 遇到 NUL 字元的處理,還有 Brotli 解碼器新增的錯誤碼。
結果 NAS 上的 22.23.4-1011 跟上游 22.23.4 一致。
講白一點,上游的修補是有進來,不是只改版本號。

【不過舊版其實落後了一段時間】
這 28 個 CVE 不是都 10 月才出來的,是橫跨上游 6 月、7 月、10 月三次安全更新。
也就是說,之前的 22.22.3-1010 中間沒有跟著上游的 6、7 月更新各出一版,這次是一口氣跳到 22.23.4。CyberQ 的說法是落後了大約四個月。
NAS 這種設備,不見得上游每一版都馬上跟,這蠻常見的。
但站在使用者的角度就會有個疑問:套件中心顯示「沒有可用更新」,到底是真的沒事,還是廠商還沒把上游的修補包進來?這兩件事其實不一樣。


【更值得注意的:同一台 NAS 不只一個 Node.js】
CyberQ 測的那台機器上,其實有三套 Node.js:
1. Node.js v22 22.23.4-1011:這套已經更新
2. Node.js v20 20.20.2-1018:Synology Photos 1.9.1 的後端還是靠這個
3. DSM 內建的 /usr/bin/synonode:Node.js 14.21.1,搭配 OpenSSL 1.1.1q
所以「我把 Node.js v22 更新了」是真的;但「我這台 NAS 的 Node.js 都是 v22」就不對了。
這種事,套件中心的介面其實很難讓人看出來。

【EOL 的 runtime 就等於有漏洞嗎?】
不等於,這點一定要講清楚。
Node.js 20 已經停止上游支援,Node.js 14 更早,2023 年 4 月就停了;DSM 那套搭配的 OpenSSL 1.1.1 系列,也在 2023 年 9 月停止支援。意思是上游不會再替這些版本出安全更新。
但某個產品會不會被某個 CVE 打到,還要看:程式有沒有用到那個功能、資料能不能從外部控制、執行流程走不走得到、對外有沒有開。
所以版本舊,不等於一定能被打,CyberQ 也有寫這點。
Synology 10/29 公布的 SA-26:15(Node2Shell),CVE-2026-111497 本身是 Critical、CVSS 9.8,Synology 把 Photos 在內的多數套件判定為 Not affected。
這部分只能先相信原廠的判斷。但這也正是問題:使用者只能相信,沒有辦法自己驗證。


【那 EOL runtime 為什麼還是值得在意?】
因為這牽涉到誰負責維護。
以 Photos 來說,使用者沒辦法自己把它的 Node.js 20 換成 v22,相依關係是廠商決定的。上游停止維護之後,要把 App 搬到新版本,責任基本上在廠商。

DSM 內建的那個更明顯,它根本不歸套件中心管。你就算把 Node.js v22 更新到最新,也碰不到 DSM 自己的 synonode,只能等 DSM 更新。
說穿了,買 NAS 買的不只是一台硬碟盒,而是「接下來幾年,請這家公司幫我顧好整串相依元件」。

所以不管用哪一家,我覺得選 NAS、用 NAS 的時候,都可以多留意幾件事:
・安全更新通常比上游晚多久?
・EOL 的 runtime 多久會被換掉?
・資安公告有沒有修訂紀錄?
・哪些元件靠套件中心更新,哪些只能跟著系統更新?
・產品寫「Not affected」的時候,有沒有說明為什麼?


【最後】
很多人選群暉,就是圖它省心、好上手。但這次看下來,省心的前提是廠商把每一層都顧好;套件中心看不到的那幾層,使用者只能等。

所以我的想法是:任何封閉的設備,都不該只靠品牌信任。廠商公告是重要的參考,但不是唯一的依據,最好能跟版本、實測、外部研究和自己設備的實際狀態反覆對照。

實際能做的,還是那幾件老話:
・DSM 和套件優先更新
・用不到的套件就移除
・管理介面不要直接開在網路上
・用不到 SSH 就關掉
・遠端存取盡量走 VPN
・快照要做,備份要有版本
・至少留一份 NAS 自己刪不掉、也加密不到的副本
安全更新處理的是「已知的漏洞」,備份處理的是「前面所有判斷最後還是失敗了」,兩個都不能少。

不知道大家平常會不會注意 NAS 裡這些套件用的是哪個版本的 runtime?還是都看到有更新就按?歡迎與小弟交流


紀錄日期:2026/11/02
資料來源:CyberQ
2026/10/30「Synology Node.js 更新實測」、Synology-SA-26:15
確實得提前備份 別想我只能等到資料丟了再花時間去救援
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!