國立臺灣大學 JupyterLab 未實施存取控制致 RCE 暨主機已遭挖礦程式入侵 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00390
  •  發信 Vendor: 國立臺灣大學
  • Title: 國立臺灣大學 JupyterLab 未實施存取控制致 RCE 暨主機已遭挖礦程式入侵
  • Introduction: 校園 GPU 運算伺服器對外暴露未設定任何認證的 JupyterLab 服務,且主機已遭第三方植入加密貨幣挖礦程式並持續運行。

處理狀態

目前狀態

公開
Last Update : 2026/04/24
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 已複測
  • 公開

處理歷程

  • 2026/03/22 23:01:25 : 新提交 (由 DL56 更新此狀態)
  • 2026/03/23 20:55:41 : 新提交 (由 DL56 更新此狀態)
  • 2026/03/25 14:36:36 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 16:39:20 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 16:39:20 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/09 16:39:21 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/20 14:49:32 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/04/20 19:31:31 : 確認已修補 (由 DL56 更新此狀態)
  • 2026/04/24 03:00:07 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00390
  • 通報者:dinlon5566 (DL56)
  • 風險:嚴重
  • 類型:存取控制缺陷 (Broken Access Control)

參考資料

攻擊者可經由該漏洞取得、修改、刪除系統中的其他使用者的資料,或連線至高權限使用者的頁面。

OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control

CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

http://140.112.91.89:8888/lab

敘述

漏洞說明

JupyterLab 2.17.0 服務未實施存取控制,未設定任何存取認證(token、password 均為空)。該服務以 root 身份運行於一台搭載 NVIDIA GeForce RTX 5090 的 GPU 運算主機上,並以 NVIDIA NGC Docker Container 形式部署。

由於 Jupyter REST API 同樣無需認證,攻擊者可透過 API 直接:

  • 執行任意 Python / Shell 程式碼
  • 讀寫伺服器完整檔案系統(包含 /etc/root/proc 等敏感目錄)
  • 建立互動式 Terminal(root shell)
  • 存取並竊取環境變數、SSH 金鑰等憑證

重現步驟

步驟 1: 直接以瀏覽器開啟以下網址,無需輸入任何帳號密碼即可進入完整 JupyterLab 介面:

http://140.112.91.89:8888/lab

圖片

步驟 2: 透過 Jupyter REST API 列舉根目錄檔案系統,確認以 root 身份運行且完整檔案系統可讀寫:
圖片

步驟 3: 讀取 /etc/passwd,確認系統使用者清單完全可存取:
圖片

步驟 4: 查詢 Terminal API,確認有 2 個 active root shell 正在運行:
圖片

步驟 5: 讀取 /proc/1/environ,取得容器完整環境變數,確認 GPU 型號、CUDA 版本、PyTorch 版本等敏感資訊:
圖片

主機已遭入侵:加密貨幣挖礦程式

本次調查中在 /workspace/logs/ 目錄下發現挖礦軟體運行紀錄,確認主機已被第三方植入 nanominer 並持續挖掘 Ravencoin(RVN)加密貨幣

挖礦紀錄位置:

/workspace/logs/log_2026-03-19_04-53-52.log
/workspace/logs/log_2026-03-21_17-33-50.log

關鍵紀錄摘錄:

2026-Mar-21 17:33:50: nanominer Version 3.10.0-linux
2026-Mar-21 17:33:50: NVIDIA driver version: 580.82.07 (13.0)
2026-Mar-21 17:33:50: Single device detected
2026-Mar-21 17:33:50: GPU 0 PCI 41:00.0, Platform: CUDA
2026-Mar-21 17:33:50: Name: NVIDIA GeForce RTX 5090, 32109 MB available
2026-Mar-21 17:33:50: -------------------Kawpow:------------------
2026-Mar-21 17:33:50: Currency: Raven
2026-Mar-21 17:33:50: Wallet: 44N5jui2nbtQaxWjs9hoJBX5ELrCk5ftja7Zu3QCGTA1FftJhDKrEDL92Rw12j8FALHKnJEUb6KZ45SAncJ6iqKN6nShj2S
2026-Mar-21 17:33:50: Rig name: Sleepy_3577aa97
2026-Mar-21 17:33:50: Added pool: 45.61.137.195:444
2026-Mar-21 17:33:53: Connected to pool: 45.61.137.195:444
2026-Mar-21 17:33:54: New job from 45.61.137.195:444 | share difficulty = 96 GH, epoch 571 (5591 MB)

圖片
圖六:/workspace/logs/ 挖礦程式運行紀錄,確認 RTX 5090 正被用於挖掘 Ravencoin,礦池為 45.61.137[.]195:444

入侵指標(IoC):

項目 數值
挖礦軟體 nanominer v3.10.0-linux
演算法 KawPow
幣別 Ravencoin (RVN)
攻擊者錢包 44N5jui2nbtQaxWjs9hoJBX5ELrCk5ftja7Zu3QCGTA1FftJhDKrEDL92Rw12j8FALHKnJEUb6KZ45SAncJ6iqKN6nShj2S
礦池 IP 45.61.137[.]195:444
Rig 名稱 Sleepy_3577aa97
最初植入時間 2026-03-18(依容器建立時間推算)
最後確認運行 2026-03-21 17:33:54 UTC+8

影響範圍

  1. 遠端程式碼執行(RCE):任何人可透過 Jupyter Notebook 或 Terminal 執行任意系統指令,等同取得 root shell
  2. 資料外洩:完整檔案系統可讀,包括設定檔、SSH 金鑰、程式碼、研究資料
  3. 資源濫用:RTX 5090 GPU 已被挖礦程式佔用,影響正常研究使用
  4. 內網橫向移動:可作為跳板進一步滲透校內網路(140.112.x.x 段)
  5. 持續性入侵:攻擊者已在系統中建立長期駐留,挖礦程式持續運行

修補建議

## 修補建議

1. **立即下線隔離**該容器,進行完整鑑識調查,確認攻擊者是否已有更深入的後門
2. **強制設定 JupyterLab 認證**:啟動時加入 `--NotebookApp.token=<strong_token>` 或設定密碼,或改用 JupyterHub 集中管理認證
3. **限制網路存取**:JupyterLab 不應對外網開放,應透過 VPN 或 SSH Tunnel 才能存取,或使用防火牆限制僅允許特定 IP
4. **以非 root 使用者運行**:容器內應使用低權限使用者執行 Jupyter,而非 root
5. **清除挖礦程式**並更改所有可能已外洩的憑證(SSH keys、API tokens 等)
6. **更新容器映像**並重新部署,確保無惡意程式殘留
7. **建立定期掃描機制**,偵測對外暴露的未認證服務

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;