Ubuntu แก้ gevent เสี่ยงแทรกคำขอ HTTP ใน USN-9083-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ gevent WSGI server รับคำขอจากเครือข่ายควรเร่งตรวจและอัปเดตแพ็กเกจตามรุ่น Ubuntu
1-minute summary
- Symptom / problem
- gevent ตรวจส่วนท้ายของคำขอ HTTP แบบ chunked ไม่ถูกต้อง อาจเปิดทางให้แทรกคำขอและยกระดับสิทธิ์
- Who should read
- ผู้ดูแลระบบและนักพัฒนาที่ใช้ gevent WSGI server บน Ubuntu รุ่นที่ประกาศระบุ
- Fix in short
- อัปเดต 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 หากมีรายละเอียดเพิ่มเติมจากประกาศต้นทาง เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
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