Ubuntu แก้ kramdown เสี่ยงอ่านไฟล์หรือรันโค้ด USN-9060-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ kramdown บน Ubuntu 18.04 LTS หรือ 16.04 LTS ควรเร่งแพตช์ โดยเริ่มจากงานที่รับเอกสารจากภายนอก
สรุปใน 1 นาที
- อาการ/ปัญหา
- kramdown ประมวลผลตัวเลือก template ในเอกสารโดยปริยาย ผู้โจมตีอาจใช้ช่องทางนี้อ่านไฟล์หรือรันโค้ดได้
- ใครควรอ่าน
- ผู้ดูแลระบบและนักพัฒนาที่ใช้ kramdown บน Ubuntu 18.04 LTS หรือ 16.04 LTS
- ทางแก้แบบสั้น
- อัปเดต 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 เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
อยากให้เราทำให้ไหม?
ให้เราช่วยติดตั้ง ตั้งค่า ย้ายระบบ หรือแก้ปัญหาเซิร์ฟเวอร์ เพื่อให้คุณมีเวลาไปทำงานที่สำคัญกว่า
เคยเจองานแบบนี้ไหม? ติดตรงไหน?
มาแลกวิธีกันต่อในบอร์ด LinuxThai



ความคิดเห็น 0
ยังไม่มีความคิดเห็น — เป็นคนแรกเลย