“ช่องโหว่ร้ายแรงใน Keras 3 (CVE-2025-49655) เปิดทางให้รันโค้ดอันตรายเพียงแค่โหลดโมเดล” — เมื่อการใช้ deep learning กลายเป็นช่องทางโจมตี และ ‘safe mode’ ก็ไม่ปลอดภัยอีกต่อไป
นักวิจัยจาก HiddenLayer เปิดเผยช่องโหว่ระดับวิกฤตใน Keras 3 ซึ่งเป็นไลบรารี deep learning ยอดนิยม โดยช่องโหว่นี้มีรหัส CVE-2025-49655 และได้คะแนนความรุนแรง CVSS 9.8 เต็ม 10 — หมายถึงสามารถถูกใช้โจมตีได้ง่ายและมีผลกระทบรุนแรง
ช่องโหว่นี้เกิดขึ้นในคลาส TorchModuleWrapper ซึ่งใช้ torch.load() ภายในเมธอด from_config() โดยตั้งค่า weights_only=False ทำให้ PyTorch fallback ไปใช้ pickle ซึ่งเป็นกลไก deserialization ที่ไม่ปลอดภัย เพราะสามารถรันโค้ด Python ระหว่างการโหลดอ็อบเจกต์ได้
นักวิจัยสาธิตการโจมตีโดยสร้าง payload ที่ใช้ __reduce__ เพื่อเรียก os.system() ระหว่างการโหลดโมเดล — แม้จะเปิดใช้งาน “safe mode” ของ Keras ก็ยังไม่สามารถป้องกันได้ เพราะการโหลด config.json ที่ฝัง payload จะรันโค้ดทันที
ช่องโหว่นี้ส่งผลกระทบต่อ Keras เวอร์ชัน 3.11.0 ถึง 3.11.2 เฉพาะเมื่อใช้ backend เป็น PyTorch (KERAS_BACKEND="torch") ส่วน backend อื่น ๆ เช่น TensorFlow, JAX และ OpenVINO ไม่ได้รับผลกระทบ
HiddenLayer เตือนว่าช่องโหว่นี้สามารถถูกใช้โจมตี supply chain ของ ML ได้ เช่น การฝัง payload ในโมเดล .keras ที่ดูเหมือนปกติ แล้วเผยแพร่ผ่าน Hugging Face หรือ GitHub — ผู้ใช้ที่โหลดโมเดลจะรันโค้ดอันตรายทันทีโดยไม่รู้ตัว
ช่องโหว่ CVE-2025-49655 ใน Keras 3 ได้คะแนน CVSS 9.8
ระดับวิกฤต สามารถรันโค้ดอันตรายได้ทันที
เกิดจากการใช้ torch.load() พร้อม weights_only=False
ทำให้ PyTorch ใช้ pickle ซึ่งไม่ปลอดภัย
ใช้ __reduce__ เพื่อฝังคำสั่ง os.system() ในโมเดล
รันโค้ดทันทีเมื่อโหลดโมเดล
“safe mode” ของ Keras ไม่สามารถป้องกันการโจมตีนี้ได้
เพราะ payload อยู่ใน config.json ที่ถูกโหลดก่อน
ส่งผลกระทบต่อ Keras 3.11.0–3.11.2 เมื่อใช้ backend เป็น PyTorch
TensorFlow, JAX, OpenVINO ไม่ได้รับผลกระทบ
สามารถใช้โจมตี supply chain ของ ML ได้
เช่น โมเดลที่แชร์ผ่าน Hugging Face หรือ GitHub
https://securityonline.info/critical-keras-3-rce-flaw-cve-2025-49655-cvss-9-8-allows-code-execution-on-model-load/
นักวิจัยจาก HiddenLayer เปิดเผยช่องโหว่ระดับวิกฤตใน Keras 3 ซึ่งเป็นไลบรารี deep learning ยอดนิยม โดยช่องโหว่นี้มีรหัส CVE-2025-49655 และได้คะแนนความรุนแรง CVSS 9.8 เต็ม 10 — หมายถึงสามารถถูกใช้โจมตีได้ง่ายและมีผลกระทบรุนแรง
ช่องโหว่นี้เกิดขึ้นในคลาส TorchModuleWrapper ซึ่งใช้ torch.load() ภายในเมธอด from_config() โดยตั้งค่า weights_only=False ทำให้ PyTorch fallback ไปใช้ pickle ซึ่งเป็นกลไก deserialization ที่ไม่ปลอดภัย เพราะสามารถรันโค้ด Python ระหว่างการโหลดอ็อบเจกต์ได้
นักวิจัยสาธิตการโจมตีโดยสร้าง payload ที่ใช้ __reduce__ เพื่อเรียก os.system() ระหว่างการโหลดโมเดล — แม้จะเปิดใช้งาน “safe mode” ของ Keras ก็ยังไม่สามารถป้องกันได้ เพราะการโหลด config.json ที่ฝัง payload จะรันโค้ดทันที
ช่องโหว่นี้ส่งผลกระทบต่อ Keras เวอร์ชัน 3.11.0 ถึง 3.11.2 เฉพาะเมื่อใช้ backend เป็น PyTorch (KERAS_BACKEND="torch") ส่วน backend อื่น ๆ เช่น TensorFlow, JAX และ OpenVINO ไม่ได้รับผลกระทบ
HiddenLayer เตือนว่าช่องโหว่นี้สามารถถูกใช้โจมตี supply chain ของ ML ได้ เช่น การฝัง payload ในโมเดล .keras ที่ดูเหมือนปกติ แล้วเผยแพร่ผ่าน Hugging Face หรือ GitHub — ผู้ใช้ที่โหลดโมเดลจะรันโค้ดอันตรายทันทีโดยไม่รู้ตัว
ช่องโหว่ CVE-2025-49655 ใน Keras 3 ได้คะแนน CVSS 9.8
ระดับวิกฤต สามารถรันโค้ดอันตรายได้ทันที
เกิดจากการใช้ torch.load() พร้อม weights_only=False
ทำให้ PyTorch ใช้ pickle ซึ่งไม่ปลอดภัย
ใช้ __reduce__ เพื่อฝังคำสั่ง os.system() ในโมเดล
รันโค้ดทันทีเมื่อโหลดโมเดล
“safe mode” ของ Keras ไม่สามารถป้องกันการโจมตีนี้ได้
เพราะ payload อยู่ใน config.json ที่ถูกโหลดก่อน
ส่งผลกระทบต่อ Keras 3.11.0–3.11.2 เมื่อใช้ backend เป็น PyTorch
TensorFlow, JAX, OpenVINO ไม่ได้รับผลกระทบ
สามารถใช้โจมตี supply chain ของ ML ได้
เช่น โมเดลที่แชร์ผ่าน Hugging Face หรือ GitHub
https://securityonline.info/critical-keras-3-rce-flaw-cve-2025-49655-cvss-9-8-allows-code-execution-on-model-load/
🧠 “ช่องโหว่ร้ายแรงใน Keras 3 (CVE-2025-49655) เปิดทางให้รันโค้ดอันตรายเพียงแค่โหลดโมเดล” — เมื่อการใช้ deep learning กลายเป็นช่องทางโจมตี และ ‘safe mode’ ก็ไม่ปลอดภัยอีกต่อไป
นักวิจัยจาก HiddenLayer เปิดเผยช่องโหว่ระดับวิกฤตใน Keras 3 ซึ่งเป็นไลบรารี deep learning ยอดนิยม โดยช่องโหว่นี้มีรหัส CVE-2025-49655 และได้คะแนนความรุนแรง CVSS 9.8 เต็ม 10 — หมายถึงสามารถถูกใช้โจมตีได้ง่ายและมีผลกระทบรุนแรง
ช่องโหว่นี้เกิดขึ้นในคลาส TorchModuleWrapper ซึ่งใช้ torch.load() ภายในเมธอด from_config() โดยตั้งค่า weights_only=False ทำให้ PyTorch fallback ไปใช้ pickle ซึ่งเป็นกลไก deserialization ที่ไม่ปลอดภัย เพราะสามารถรันโค้ด Python ระหว่างการโหลดอ็อบเจกต์ได้
นักวิจัยสาธิตการโจมตีโดยสร้าง payload ที่ใช้ __reduce__ เพื่อเรียก os.system() ระหว่างการโหลดโมเดล — แม้จะเปิดใช้งาน “safe mode” ของ Keras ก็ยังไม่สามารถป้องกันได้ เพราะการโหลด config.json ที่ฝัง payload จะรันโค้ดทันที
ช่องโหว่นี้ส่งผลกระทบต่อ Keras เวอร์ชัน 3.11.0 ถึง 3.11.2 เฉพาะเมื่อใช้ backend เป็น PyTorch (KERAS_BACKEND="torch") ส่วน backend อื่น ๆ เช่น TensorFlow, JAX และ OpenVINO ไม่ได้รับผลกระทบ
HiddenLayer เตือนว่าช่องโหว่นี้สามารถถูกใช้โจมตี supply chain ของ ML ได้ เช่น การฝัง payload ในโมเดล .keras ที่ดูเหมือนปกติ แล้วเผยแพร่ผ่าน Hugging Face หรือ GitHub — ผู้ใช้ที่โหลดโมเดลจะรันโค้ดอันตรายทันทีโดยไม่รู้ตัว
✅ ช่องโหว่ CVE-2025-49655 ใน Keras 3 ได้คะแนน CVSS 9.8
➡️ ระดับวิกฤต สามารถรันโค้ดอันตรายได้ทันที
✅ เกิดจากการใช้ torch.load() พร้อม weights_only=False
➡️ ทำให้ PyTorch ใช้ pickle ซึ่งไม่ปลอดภัย
✅ ใช้ __reduce__ เพื่อฝังคำสั่ง os.system() ในโมเดล
➡️ รันโค้ดทันทีเมื่อโหลดโมเดล
✅ “safe mode” ของ Keras ไม่สามารถป้องกันการโจมตีนี้ได้
➡️ เพราะ payload อยู่ใน config.json ที่ถูกโหลดก่อน
✅ ส่งผลกระทบต่อ Keras 3.11.0–3.11.2 เมื่อใช้ backend เป็น PyTorch
➡️ TensorFlow, JAX, OpenVINO ไม่ได้รับผลกระทบ
✅ สามารถใช้โจมตี supply chain ของ ML ได้
➡️ เช่น โมเดลที่แชร์ผ่าน Hugging Face หรือ GitHub
https://securityonline.info/critical-keras-3-rce-flaw-cve-2025-49655-cvss-9-8-allows-code-execution-on-model-load/
0 Comments
0 Shares
11 Views
0 Reviews