此篇文章揭露了近期在JavaScript函式庫「form-data」中發現的一個嚴重資安漏洞,該漏洞編號為CVE-2025-7783。漏洞的根源在於函式庫內使用了一個看似無害的「亂數」產生機制,這一設計被駭客利用,可能導致個人資料外洩或惡意程式的植入。這篇文章將解釋該漏洞的詳細機制、影響範圍,以及如何保護自己免受攻擊。
「form-data」是一個用於處理網頁表單與檔案上傳的JavaScript函式庫。當用戶填寫表格或上傳照片時,該函式庫會產生一些「邊界值」來區分不同的資料區塊。然而,漏洞的核心問題在於它使用了Math.random()這個偽亂數產生器,而不是更安全的隨機數據生成方式。這個偽亂數並非真正隨機,駭客可通過監控系統所產生的數值,推測出後續的邊界值。這就像掌握遊戲規則,能提前預測未來的結果。
利用偽亂數的可預測性,駭客能夠在資料流中插入惡意內容。以一個看似普通的照片為例,駭客可以利用此漏洞將惡意指令夾帶在上傳的圖片資料中。這些惡意指令能夠繞過網站的安全檢查,進而被網站的後端系統執行,最終可能導致帳戶資訊、密碼被竊取,甚至讓駭客遠端操控使用者的電腦。
此漏洞影響到多個版本的「form-data」函式庫,具體包括:
- 版本 2.5.4 以下
- 版本 3.0.0 到 3.0.3
- 版本 4.0.0 到 4.0.3
若你的網站或應用程式使用了這些版本的「form-data」來處理資料傳輸,且程式碼中暴露了Math.random()生成的數值,那麼你的網站就有可能受到此漏洞的威脅。
作者提醒使用者和開發者如何自我防範,避免遭受此漏洞的攻擊:
- 對一般使用者來說,最重要的是保持軟體的最新版本,並留意網站或應用程式是否有資安更新通知。定期更新作業系統、瀏覽器及常用的應用程式,能有效減少暴露於漏洞中的風險。
- 對於網站管理者和開發者,必須立即檢查並盤點所有使用「form-data」的應用程式,將函式庫更新至最新的修補版本,如4.0.4、3.0.4或2.5.4。此外,開發者也應檢查程式碼中是否有其他地方使用了Math.random()且可能暴露給外部,這可能成為其他潛在漏洞的來源。
這篇文章強烈警示了JavaScript函式庫「form-data」中的資安漏洞,並提供了針對使用者和開發者的具體建議。隨著資安問題的日益嚴重,及時修補漏洞、更新軟體版本,以及對程式碼的徹底檢查,將是防範駭客攻擊的關鍵。
閱讀完整文章: https://www.technice.com.tw/techmanage/infosecurity/183979/