Ubuntu แก้ gevent เสี่ยงแทรกคำขอ HTTP ใน USN-9083-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ gevent WSGI server รับคำขอจากเครือข่ายควรเร่งตรวจและอัปเดตแพ็กเกจตามรุ่น Ubuntu
สรุปใน 1 นาที
- อาการ/ปัญหา
- gevent ตรวจส่วนท้ายของคำขอ HTTP แบบ chunked ไม่ถูกต้อง อาจเปิดทางให้แทรกคำขอและยกระดับสิทธิ์
- ใครควรอ่าน
- ผู้ดูแลระบบและนักพัฒนาที่ใช้ gevent WSGI server บน Ubuntu รุ่นที่ประกาศระบุ
- ทางแก้แบบสั้น
- อัปเดต python3-gevent หรือ python-gevent ให้ถึงรุ่นแก้ของ Ubuntu ที่ใช้งาน แล้วเริ่มบริการที่โหลดไลบรารีนี้ใหม่
พอดีเห็น Ubuntu ออกประกาศ USN-9083-1 ลงวันที่ 12 พฤศจิกายน 2026 แก้ช่องโหว่ใน gevent ซึ่งเป็นไลบรารีเครือข่ายของ Python ปัญหาอยู่ที่ WSGI server ที่รับคำขอเว็บ ผู้โจมตีอาจแทรกคำขอ HTTP เพื่อข้ามการตรวจของตัวกลางได้ Ubuntu ระบุว่าอาจนำไปสู่การยกระดับสิทธิ์
ใครต้องทำอะไร
- ผู้ดูแลระบบ: ถ้าใช้ gevent WSGI server บน Ubuntu รุ่นที่ระบุ ให้เร่งอัปเดตแพ็กเกจและนัดช่วงเริ่มบริการใหม่
- นักพัฒนา: ถ้าแอปใช้ gevent WSGI server ให้ตรวจวิธีติดตั้งและเร่งอัปเดตไลบรารีที่แอปใช้งานจริง
เกิดอะไรขึ้น
ช่องโหว่ CVE-2023-41419 เกี่ยวกับ trailers หรือข้อมูลส่วนท้ายของคำขอ HTTP แบบ chunked ซึ่งแบ่งเนื้อหาออกเป็นชิ้น ๆ gevent ตรวจส่วนท้ายนี้ไม่รัดกุม ผู้โจมตีเลยอาจซ่อนคำขออีกชุดไว้ในข้อมูลที่ส่งมา การโจมตีนี้เรียกว่า HTTP request smuggling
โครงการ gevent อธิบาย ว่าคำขอที่ซ่อนอยู่อาจข้ามการกรอง path หรือ header ของเซิร์ฟเวอร์ตัวกลางได้ หากตัวกลางส่ง trailers ต่อโดยไม่ตรวจให้ถูกต้อง ส่วน Ubuntu ระบุผลกระทบว่าอาจยกระดับสิทธิ์ได้ ควรตรวจเส้นทางรับคำขอของแอปประกอบด้วย
ประกาศนี้ไม่ได้ให้ระดับความรุนแรงหรือคะแนน CVSS และไม่ได้ระบุวิธีตั้งค่าชั่วคราวเพื่อเลี่ยงช่องโหว่ แนวทางแก้ที่ให้ไว้คืออัปเดตแพ็กเกจ
ใครโดนและรุ่นที่แก้
ตารางนี้เป็นรุ่นแพ็กเกจที่ Ubuntu ระบุว่าแก้แล้ว ให้เลือกแถวให้ตรงกับรุ่นระบบ หน้า USN ไม่ได้บอกช่วงรุ่นที่มีช่องโหว่ทั้งหมด
| Ubuntu | แพ็กเกจ | รุ่นที่แก้ |
|---|---|---|
| 22.04 LTS (jammy) | python3-gevent | 21.8.0-1ubuntu0.1~esm1 |
| 20.04 LTS (focal) | python3-gevent | 1.4.0-1.2ubuntu0.1~esm1 |
| 18.04 LTS (bionic) | python-gevent, python3-gevent | 1.2.2-2ubuntu0.1~esm1 |
| 16.04 LTS (xenial) | python-gevent, python3-gevent | 1.1.0-2ubuntu0.1~esm1 |
สำหรับ 22.04, 20.04 และ 18.04 หน้า USN ระบุว่าแพตช์พร้อมผ่าน Ubuntu Pro ในช่องทาง ESM Apps ผู้ดูแลควรตรวจว่าระบบเข้าถึงช่องทางแพตช์นี้ได้ก่อนสรุปว่าอัปเดตครบแล้ว
ต้องทำอะไร
ตรวจว่าบริการใช้ gevent WSGI server หรือไม่ แล้วดูว่าติดตั้งจากแพ็กเกจ Ubuntu หรือแยกไว้ในแอป ตัวอย่างนี้ใช้กับแพ็กเกจ Python 3 ของ Ubuntu ให้ดูรุ่นที่คลังเสนอ ก่อนติดตั้งและตรวจรุ่นซ้ำ
sudo apt update
apt-cache policy python3-gevent
sudo apt install --only-upgrade python3-gevent
dpkg-query -W python3-gevent
หากใช้ python-gevent ให้เปลี่ยนชื่อแพ็กเกจในคำสั่งตามที่ติดตั้ง หลังอัปเดตให้เทียบรุ่นกับตาราง จากนั้นเริ่มบริการแอปใหม่เพื่อโหลดไลบรารีที่แก้แล้ว และทดสอบว่าเว็บรับคำขอได้ตามปกติ
ถ้า apt ยังไม่เห็นแพตช์ ให้ตรวจแหล่งแพ็กเกจและสิทธิ์รับอัปเดต ส่วนแอปที่ใช้ pip, virtual environment หรือคอนเทนเนอร์ ต้องตรวจไลบรารีในแอปนั้นด้วย การอัปเดตโฮสต์อาจไม่เปลี่ยนไลบรารีที่แอปโหลดอยู่ และห้ามใช้เลขรุ่นแพ็กเกจ Ubuntu แทนเลขรุ่นของ pip
ส่วนตัวผมให้เร่งแพตช์ระบบที่ใช้ gevent WSGI server รับคำขอจากภายนอก พร้อมเผื่อเวลาทดสอบและเริ่มบริการใหม่ ที่มา: USN-9083-1: gevent vulnerability หากมีรายละเอียดเพิ่มเติมจากประกาศต้นทาง เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
อยากให้เราทำให้ไหม?
ให้เราช่วยติดตั้ง ตั้งค่า ย้ายระบบ หรือแก้ปัญหาเซิร์ฟเวอร์ เพื่อให้คุณมีเวลาไปทำงานที่สำคัญกว่า
เคยเจองานแบบนี้ไหม? ติดตรงไหน?
มาแลกวิธีกันต่อในบอร์ด LinuxThai



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