EST. 2026 — Notes from real server work SYSADMIN · SECURITY · AI · DIRECTADMIN Issue 01
THE SYSADMIN ALMANAC
Home / Security Notice / Apache Struts ช่องโหว่รันโค้ดผ่าน DMI CVE-2016-3081
Security Notice

Apache Struts ช่องโหว่รันโค้ดผ่าน DMI CVE-2016-3081

by Ton-Or ·8 Oct 2026·4 min read
Apache Struts ช่องโหว่รันโค้ดผ่าน DMI CVE-2016-3081

ผู้ดูแล Apache Struts รุ่นที่ได้รับผลกระทบและเปิด Dynamic Method Invocation ควรเร่งปิดฟังก์ชันนี้หรืออัปเดต เพราะมีการโจมตีจริงแล้ว

1-minute summary

Symptom / problem
ผู้โจมตีส่ง expression ผ่าน method: prefix เพื่อรันโค้ดบนเซิร์ฟเวอร์ได้เมื่อเปิด Dynamic Method Invocation
Who should read
ผู้ดูแลระบบและนักพัฒนาที่ดูแลแอป Apache Struts รุ่นที่ได้รับผลกระทบและเปิด Dynamic Method Invocation
Fix in short
ปิด Dynamic Method Invocation หรืออัปเดตตาม S2-032 เป็น 2.3.20.3, 2.3.24.3 หรือ 2.3.28.1 ตามสายรุ่น
Jump to steps

พอดีไล่ฟีด CISA KEV เจอช่องโหว่ Apache Struts หมายเลข CVE-2016-3081 ซึ่งถูกเพิ่มเข้ารายการวันที่ 8 ตุลาคม 2026 มีการใช้โจมตีจริงแล้ว ให้ตรวจว่าแอปใช้รุ่นที่มีช่องโหว่และเปิด Dynamic Method Invocation หรือ DMI อยู่หรือไม่ CISA กำหนดวันแก้เป็น 11 ตุลาคม 2026 ตาม รายการ KEV ทางการ

S2-032ประกาศ Apache
RCEผลกระทบหลัก
2.3.28.1หนึ่งในรุ่นแก้ไข
KEVถูกโจมตีจริงแล้ว

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

  • ผู้ดูแลระบบ: หากดูแลแอป Struts รุ่นที่มีช่องโหว่และเปิด DMI ให้เร่งปิดฟังก์ชันนี้หรือประสานทีมแอปเพื่อติดตั้งรุ่นแก้ไขโดยเร็ว
  • นักพัฒนา: หากแอปใช้ Struts รุ่นที่ได้รับผลกระทบและเปิด DMI ให้เร่งอัปเดตไลบรารีตามสายรุ่นหรือปิด DMI พร้อมทดสอบก่อนนำขึ้นใช้งาน

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

ประกาศ Apache S2-032 ระบุว่าเมื่อเปิด DMI ผู้โจมตีจากระยะไกลส่ง expression อันตรายผ่านคำนำหน้า method: ได้ เซิร์ฟเวอร์อาจรันโค้ดตามที่ผู้โจมตีกำหนด ส่วน CVE record ระบุว่าเกี่ยวข้องกับ chained expressions หรือ expression ที่เรียกต่อกัน

Apache จัดระดับสูงสุดไว้ที่ Important ส่วน CISA ADP ใน ข้อมูล CVE record ให้ CVSS 3.1 เท่ากับ 8.1 ระดับ High ซึ่งเป็นคนละระบบการประเมิน สถานะ KEV ยืนยันว่ามีการใช้ช่องโหว่โจมตีจริง แต่ไม่ได้ยืนยันว่าแอปทุกแห่งที่ติดตั้ง Struts ถูกเจาะแล้ว

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

ตารางยึดช่วงรุ่นจาก CVE record และรุ่นแก้ไขตามสายที่ Apache แนะนำใน S2-032 โดยมีเงื่อนไขว่าเปิด DMI

แพ็กเกจและช่วงรุ่นที่ได้รับผลกระทบตาม CVE รุ่นแก้ไขตาม S2-032
Apache Struts 2.3.19–2.3.20.2 2.3.20.3
Apache Struts 2.3.21–2.3.24.1 2.3.24.3
Apache Struts 2.3.25–2.3.28 2.3.28.1

S2-032 ระบุช่วงรวม 2.3.20–2.3.28 ยกเว้น 2.3.20.3 กับ 2.3.24.3 ขณะที่ CVE record เริ่มที่ 2.3.19 ผู้ใช้ 2.3.19 เลยต้องตรวจด้วย รุ่นในตารางคือรุ่นแก้ CVE นี้ตามประกาศ ไม่ใช่การรับรองความปลอดภัยจากช่องโหว่อื่น

ต้องทำอะไร

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

เมื่อต้องส่งต่องาน ให้จดว่าแต่ละแอปใช้ Struts รุ่นใดและเปิด DMI หรือไม่ ระบุคนรับผิดชอบนำรุ่นแก้ขึ้นใช้งานให้ชัด ทีมพัฒนาควรส่งชุดแอปที่เปลี่ยนไลบรารีแล้วให้ผู้ดูแลระบบตรวจ พร้อมเก็บผลทดสอบ action ที่แอปใช้งานไว้ด้วย

ทางลดความเสี่ยงจาก Apache

ปิด Dynamic Method Invocation หรือพัฒนา ActionMapper ของแอปโดยอิงซอร์สของรุ่นแก้ไขตาม S2-032 แล้วทดสอบการเรียก action ที่แอปใช้งาน

หลังแก้ให้ทดสอบการใช้งานปกติ ตรวจ log และตรวจ dependency ของชุดที่ deploy อีกครั้ง รายการ KEV กำหนดให้ตรวจร่องรอยการบุกรุกด้วย หากพบสิ่งผิดปกติให้เก็บหลักฐานเพื่อตรวจต่อ การแพตช์ไม่ได้ยืนยันว่าแอปไม่เคยถูกโจมตี ส่วนกำหนด 11 ตุลาคม 2026 เป็นวันที่ CISA ระบุใน KEV ผู้ดูแลทั่วไปควรเร่งจัดลำดับงานตามความเสี่ยงของแอป

ส่วนตัวผมให้แอปที่เข้าเงื่อนไขนี้เป็นงานเร่งด่วน เพราะถูกโจมตีจริงแล้ว ที่มา: CVE-2016-3081 (https://www.cve.org/CVERecord?id=CVE-2016-3081), Apache S2-032 และ CISA KEV หากมีข้อมูลทางการเพิ่มเติม เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ

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