Ubuntu แก้ kramdown เสี่ยงอ่านไฟล์หรือรันโค้ด USN-9060-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ kramdown บน Ubuntu 18.04 LTS หรือ 16.04 LTS ควรเร่งแพตช์ โดยเริ่มจากงานที่รับเอกสารจากภายนอก
1-minute summary
- Symptom / problem
- kramdown ประมวลผลตัวเลือก template ในเอกสารโดยปริยาย ผู้โจมตีอาจใช้ช่องทางนี้อ่านไฟล์หรือรันโค้ดได้
- Who should read
- ผู้ดูแลระบบและนักพัฒนาที่ใช้ kramdown บน Ubuntu 18.04 LTS หรือ 16.04 LTS
- Fix in short
- อัปเดต ruby-kramdown ให้ตรงรุ่น Ubuntu และอัปเดต gem แยกหากแอปติดตั้งเอง
พอดีไล่ฟีด Ubuntu เจอประกาศ USN-9060-1 ลงวันที่ 11 พฤศจิกายน 2026 เรื่อง kramdown ซึ่งใช้แปลงเอกสาร Markdown ปัญหาอยู่ที่การอ่านตัวเลือก template จากเอกสารเป็นค่าเริ่มต้น ผู้โจมตีอาจส่งเอกสารที่ทำให้อ่านไฟล์หรือรันโค้ดได้ คนที่รับเอกสารจากภายนอกมาแปลงควรตรวจตัวที่งานนั้นเรียกใช้และติดตั้งแพตช์
ใครต้องทำอะไร
- ผู้ดูแลระบบ: ถ้าใช้ kramdown บน Ubuntu 18.04 LTS หรือ 16.04 LTS ให้เร่งอัปเดตแพ็กเกจ โดยเริ่มจากงานที่รับเอกสารจากภายนอก
- นักพัฒนา: ถ้าโครงการใช้ kramdown ให้ตรวจแหล่งติดตั้งและอัปเดตตัวที่แอปเรียกใช้ก่อนรับเอกสารที่ไม่น่าเชื่อถือ
เกิดอะไรขึ้น
ช่องโหว่นี้คือ CVE-2020-14001 กระทบ gem kramdown ก่อน 2.3.0 เอกสารที่ส่งเข้าไปสามารถกำหนด template ได้ การประมวลผลตัวเลือกนี้อาจทำให้อ่านไฟล์ที่ไม่ควรเปิดให้อ่าน หรือรันโค้ด Ruby ที่ฝังมาใน template ตามหน้า CVE ของ Ubuntu
ผลกระทบเกิดตอนแปลงเอกสาร เลยต้องตรวจขั้นตอนที่รับและประมวลผลไฟล์ด้วย ไม่ใช่ดูเพียงหน้าเว็บที่ได้หลังแปลง ขอบเขตความเสียหายขึ้นกับไฟล์และสิทธิ์ที่โปรเซสนั้นเข้าถึงได้ ควรเริ่มจากดูว่าใครส่งเอกสารเข้ามาได้และงานใดเรียก kramdown
ช่องโหว่นี้ยังไม่อยู่ใน KEV ฉบับ 10 พฤศจิกายน 2026 สถานะนี้ไม่ได้แปลว่าไม่มีการโจมตี
ใครโดนและรุ่นที่แก้
รายการประกาศ Ubuntu ระบุ Ubuntu 18.04 LTS และ 16.04 LTS ส่วนเลขแพ็กเกจตรวจจากหน้า CVE ของ Ubuntu เพราะหน้า USN ฉบับเต็มเปิดไม่ได้ระหว่างตรวจบทความ
| Ubuntu / แพ็กเกจ | รุ่นที่แก้แล้ว |
|---|---|
18.04 LTS / ruby-kramdown |
1.15.0-1ubuntu0.1~esm1 |
16.04 LTS / ruby-kramdown |
1.10.0-1ubuntu0.1~esm1 |
แพตช์ของ 18.04 LTS อยู่ใน ESM Apps ผ่าน Ubuntu Pro ต้องตรวจว่าระบบเข้าถึงคลังที่มีแพตช์ได้ ส่วนเลขรุ่น Ubuntu ต้องเทียบทั้งชุด เพราะผู้ดูแลแพ็กเกจนำแพตช์มาใส่ในรุ่นเดิมได้ ไม่จำเป็นต้องเปลี่ยนเลขรุ่นต้นน้ำเป็น 2.3.0
ต้องทำอะไร
สำหรับการติดตั้งผ่าน Ubuntu ให้ตรวจแพ็กเกจ ruby-kramdown แล้วอัปเดตเฉพาะตัวที่ติดตั้งอยู่ คำสั่งนี้แสดงรุ่นก่อนและหลังติดตั้งเพื่อใช้เทียบกับตาราง
dpkg-query -W ruby-kramdown
sudo apt update
apt-cache policy ruby-kramdown
sudo apt install --only-upgrade ruby-kramdown
dpkg-query -W ruby-kramdown
ถ้าแอปติดตั้ง gem แยกผ่าน Bundler ต้องอัปเดต dependency ของโครงการด้วย การอัปเดตแพ็กเกจระบบอาจไม่เปลี่ยนสำเนาที่แอปโหลดอยู่ ให้ตรวจแหล่งติดตั้งในสภาพแวดล้อมที่รันงานจริง รวมถึงคอนเทนเนอร์หรือเครื่องสร้างเอกสาร
หลังอัปเดต ให้ทดสอบการแปลงเอกสารที่ใช้อยู่ตามปกติและตรวจผลลัพธ์ ถ้าคลังยังเสนอรุ่นเก่า ให้ตรวจแหล่งแพ็กเกจและสิทธิ์รับแพตช์ ระหว่างจัดการควรรับเฉพาะเอกสารที่เชื่อถือได้ ข้อนี้เป็นคำแนะนำลดความเสี่ยงระหว่างรอแพตช์
ส่วนตัวผมให้เร่งแพตช์งานที่รับเอกสารจากภายนอก ส่วนงานภายในให้จัดเข้ารอบบำรุงรักษา ที่มา: USN-9060-1: kramdown vulnerability เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
Want us to set this up?
Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.
Hit something like this? Stuck somewhere?
Come trade notes on the LinuxThai board



Comments 0
No comments yet — be the first