EST. 2026 — Notes from real server work SYSADMIN · SECURITY · AI · DIRECTADMIN Issue 01
THE SYSADMIN ALMANAC
Home / Security Notice / Babel เสี่ยงรันโค้ดระหว่างคอมไพล์บน Ubuntu — USN-9054-1
Security Notice

Babel เสี่ยงรันโค้ดระหว่างคอมไพล์บน Ubuntu — USN-9054-1

by Ton-Or ·11 Nov 2026·3 min read
Babel เสี่ยงรันโค้ดระหว่างคอมไพล์บน Ubuntu — USN-9054-1

ผู้ดูแลระบบและนักพัฒนาที่ใช้ Babel บน Ubuntu 18.04 LTS หรือ 20.04 LTS ควรเร่งอัปเดตก่อนคอมไพล์โค้ดจากภายนอก

1-minute summary

Symptom / problem
Babel อาจประเมินโค้ดผิดระหว่างคอมไพล์ร่วมกับปลั๊กอินบางตัวจนผู้โจมตีรันโค้ดได้
Who should read
ผู้ดูแลระบบที่ดูแลเครื่อง build และนักพัฒนาที่ใช้ Babel จากแพ็กเกจ Ubuntu 18.04 LTS หรือ 20.04 LTS
Fix in short
อัปเดตแพ็กเกจจาก node-babel ให้ตรงรุ่นแก้ของ Ubuntu แต่ละรุ่นผ่าน Ubuntu Pro/ESM Apps และตรวจ dependency ที่ติดตั้งผ่าน npm แยกด้วย
Jump to steps

พอดีไล่ฟีด Ubuntu เจอประกาศ USN-9054-1 ลงวันที่ 11 พฤศจิกายน 2026 แก้ช่องโหว่ใน Babel ซึ่งเป็นเครื่องมือแปลงโค้ด JavaScript ถ้าผู้ใช้หรือระบบอัตโนมัติคอมไพล์โค้ดที่ผู้โจมตีเตรียมมา ขณะใช้ปลั๊กอินบางตัว ผู้โจมตีอาจรันโค้ดบนเครื่อง build ได้ แพตช์ในประกาศนี้ครอบคลุม Ubuntu 18.04 LTS และ 20.04 LTS

USN-9054ประกาศฉบับ USN-9054-1
Babelเครื่องมือที่มีช่องโหว่
Buildจุดเสี่ยงระหว่างคอมไพล์

ใครต้องทำอะไร

  • ผู้ดูแลระบบ: ถ้าเครื่อง build ใช้ Babel จาก Ubuntu 18.04 LTS หรือ 20.04 LTS ให้เร่งอัปเดตผ่าน Ubuntu Pro ก่อนรับโค้ดจากภายนอก
  • นักพัฒนา: อัปเดต Babel ในเครื่องพัฒนาและงาน build ก่อนคอมไพล์โค้ดที่ไม่เชื่อถือ โดยตรวจทั้งแพ็กเกจ Ubuntu และ dependency ในโครงการ

เกิดอะไรขึ้น

ช่องโหว่นี้คือ CVE-2023-45133 Babel อาจประเมินโค้ดผิดระหว่างคอมไพล์เมื่อใช้ปลั๊กอินบางตัว ผลคือโค้ดที่เตรียมมาโจมตีอาจทำงานด้วยสิทธิ์ของผู้ที่รันงาน build ตามข้อมูลประกาศของ Canonical

ประกาศของโครงการ Babel ระบุว่าปัญหาเกี่ยวกับปลั๊กอินที่เรียก path.evaluate() หรือ path.evaluateTruthy() ตัวอย่างคือ @babel/plugin-transform-runtime และ @babel/preset-env เมื่อเปิด useBuiltIns ผู้ที่คอมไพล์เฉพาะโค้ดที่เชื่อถือได้ไม่เข้าเงื่อนไขโจมตีที่ประกาศอธิบาย

จุดที่ควรตรวจคือเครื่องนักพัฒนาและระบบ build อัตโนมัติ โดยเฉพาะงานที่รับซอร์สโค้ดจากบุคคลภายนอก การตรวจแค่เครื่องที่ให้บริการเว็บอาจพลาดจุดที่คอมไพล์โค้ด คำแนะนำนี้ใช้ช่วยจัดคิวตรวจงาน ไม่ได้หมายความว่าทุกโครงการที่ใช้ Babel จะถูกโจมตีได้เหมือนกัน

ใครโดนและรุ่นที่แก้

แพ็กเกจต้นทางใน USN คือ node-babel รุ่นแก้ต่อไปนี้รับผ่าน Ubuntu Pro/ESM Apps ให้ตรวจแพ็กเกจย่อยที่งาน build เรียกใช้ด้วย

Ubuntu / แพ็กเกจต้นทาง รุ่นที่แก้
18.04 LTS / node-babel 6.26.0+dfsg-3ubuntu0.1~esm1
20.04 LTS / node-babel 6.26.0+repack-3ubuntu0.1~esm1

สำหรับ npm โครงการ Babel ระบุรุ่นแก้ของ @babel/traverse เป็น 7.23.2 และ 8.0.0-alpha.4 ส่วน babel-traverse สาย 6 ไม่มีแพตช์จากโครงการต้นทาง แต่ Canonical ระบุแพ็กเกจ Ubuntu สาย 6 ในตารางว่าแก้แล้ว ข้อมูลสองส่วนนี้เป็นคนละช่องทางอัปเดต ให้เทียบกับช่องทางที่ติดตั้งจริง

ต้องทำอะไร

ตรวจว่า Babel มาจากแพ็กเกจ Ubuntu หรือ dependency ของโครงการ ถ้าเป็นแพ็กเกจระบบ ให้ตรวจสิทธิ์รับอัปเดต ESM Apps แล้วอัปเดตระบบตามปกติ คำสั่งนี้อาจอัปเดตแพ็กเกจอื่นร่วมด้วย ให้อ่านรายการก่อนยืนยัน

sudo apt update
sudo apt upgrade
apt-cache policy node-babel-traverse

หลังอัปเดต ให้เทียบรุ่นที่ติดตั้งกับตารางและทดสอบงานคอมไพล์ หากใช้ image สำหรับเครื่อง build ให้สร้าง image ใหม่จากแพ็กเกจที่แก้แล้วด้วย ส่วนโครงการที่ใช้ npm ต้องอัปเดต dependency และ lockfile ของโครงการแยกจาก apt

ระหว่างรอแพตช์ ควรหยุดคอมไพล์โค้ดที่ไม่เชื่อถือและจำกัดสิทธิ์ของงาน build เท่าที่จำเป็น วิธีนี้ช่วยลดโอกาสรับโค้ดอันตราย แต่ยังต้องอัปเดตแพ็กเกจให้ครบก่อนกลับไปรับงานตามปกติ

ส่วนตัวผมให้เร่งอัปเดตเครื่อง build ที่รับโค้ดจากภายนอกก่อน ที่มา: USN-9054-1: Babel vulnerability และ ข้อมูลประกาศจาก Canonical เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ

Want us to set this up?

Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.

Get a quote

Hit something like this? Stuck somewhere?

Come trade notes on the LinuxThai board

→ Continue on the board

Comments 0

No comments yet — be the first