EST. 2026 — Notes from real server work SYSADMIN · SECURITY · AI · DIRECTADMIN Issue 01
THE SYSADMIN ALMANAC
Home / Security Notice / Laravel แทรกผลลัพธ์ Concurrency ได้: CVE-2026-128083
Security Notice

Laravel แทรกผลลัพธ์ Concurrency ได้: CVE-2026-128083

by Ton-Or ·4 Nov 2026·3 min read
Laravel แทรกผลลัพธ์ Concurrency ได้: CVE-2026-128083

นักพัฒนาและผู้ดูแลระบบ Laravel ควรตรวจรุ่นแพ็กเกจและเร่งอัปเดตหากงาน Concurrency พิมพ์ข้อมูลที่ผู้ใช้ควบคุมได้

1-minute summary

Symptom / problem
ผู้โจมตีอาจปลอมข้อความผลลัพธ์ภายในของ Concurrency Process และทำให้รันโค้ดจากระยะไกลได้เมื่อเข้าเงื่อนไข
Who should read
นักพัฒนาและผู้ดูแลระบบที่ใช้ laravel/framework ในช่วงรุ่นที่ได้รับผลกระทบ โดยเฉพาะแอปที่เรียก Concurrency::run() ผ่าน process driver
Fix in short
อัปเดตเป็น 12.71.0 หรือ 13.40.0 ขึ้นไปตามสายรุ่น พร้อมตรวจโค้ดที่ส่งข้อมูลผู้ใช้ลง stdout ของงาน
Jump to steps

พอดีเห็นประกาศของ Laravel เรื่อง Task Output Injection ใน Concurrency Process หมายเลข CVE-2026-128083 เลยหยิบมาอธิบายสำหรับคนดูแลเว็บ PHP ข้อความที่งานพิมพ์ออกมาอาจถูกอ่านเป็นผลลัพธ์ของเฟรมเวิร์ก ผู้โจมตีอาจใช้ช่องนี้รันโค้ดจากระยะไกลได้ แต่แอปต้องมีโค้ดที่เข้าเงื่อนไขก่อน

Lowระดับความรุนแรง
2.3/10CVSS 4.0
12.71.0รุ่นแก้สาย 12
13.40.0รุ่นแก้สาย 13

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

  • นักพัฒนา: ตรวจรุ่น Laravel และงานที่ใช้ Concurrency แล้วเร่งอัปเดตหากมีการพิมพ์ข้อมูลจากผู้ใช้ภายในงานเหล่านั้น
  • ผู้ดูแลระบบ: ให้ทีมพัฒนาอัปเดต Laravel แล้วเร่งนำรุ่นแก้ขึ้นใช้งานหากแอปพิมพ์ข้อมูลจากผู้ใช้ในงาน Concurrency

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

Laravel มีระบบ Concurrency สำหรับเรียกงานพร้อมกัน เมื่อใช้ process driver เฟรมเวิร์กจะรับผลจากโพรเซสลูกผ่าน stdout ซึ่งเป็นช่องทางเดียวกับข้อความที่งานพิมพ์ออกมา ผู้โจมตีอาจปลอมข้อความให้ดูเหมือนผลลัพธ์ที่เฟรมเวิร์กส่งกลับเองได้

แอปต้องมีเส้นทางที่เรียก Concurrency::run() และงานต้องพิมพ์ข้อมูลที่ผู้ใช้ควบคุมได้ลง stdout เช่น ใช้ echo, print หรือ dd กับข้อมูลรับเข้า ผู้โจมตียังต้องวางข้อมูลนั้นไว้ต้น stdout ให้เป็น JSON ที่สมบูรณ์ ตามด้วยไบต์ \x1f\x8b เงื่อนไขทั้งหมดขึ้นกับโค้ดของแอป แค่ติดตั้ง Laravel ยังไม่ทำให้ถูกโจมตีได้ ตาม ประกาศของผู้พัฒนา

รุ่นเดิมส่งฟิลด์ผลลัพธ์เข้า unserialize() ข้อมูลปลอมเลยอาจทำให้รันโค้ดในโพรเซสเว็บได้ รุ่นแก้ใช้ HMAC ตรวจว่าข้อความผลลัพธ์มาจากเฟรมเวิร์กจริง ก่อนรับไปใช้ ตาม แพตช์ Laravel #62297

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

GitHub Advisory Database และ ระเบียน CVE ระบุระดับ Low และคะแนน CVSS 4.0 เท่ากับ 2.3/10 แต่ควรดูโค้ดของแอปประกอบด้วย เพราะเมื่อเงื่อนไขครบ ผลกระทบอาจถึงขั้นรันโค้ดจากระยะไกล

แพ็กเกจและช่วงรุ่นที่ได้รับผลกระทบ รุ่นที่แก้
laravel/framework ต่ำกว่า 12.71.0 12.71.0
laravel/framework ตั้งแต่ 13.0.0 แต่ต่ำกว่า 13.40.0 13.40.0

ข้อมูลช่วงรุ่นในสองหน้าไม่ตรงกัน: ประกาศของ Laravel ยังระบุรวมว่าได้รับผลกระทบต่ำกว่า 13.40.0 และบอกว่ามีแพตช์สาย 12.x ด้วย ส่วน GitHub Advisory Database และระเบียน CVE แยกสองสายตามตารางนี้ โดยระบุรุ่นแก้สาย 12 เป็น 12.71.0

CVE นี้ยังไม่อยู่ใน KEV ฉบับ 13 พฤศจิกายน 2026 ตาม KEV JSON ของ CISA ข้อมูลนี้ไม่ได้แปลว่าไม่มีการโจมตีเกิดขึ้น

ต้องทำอะไร

ตรวจรุ่นในโครงการและข้อกำหนดใน composer.json ก่อน ว่าอัปเดตถึงรุ่นแก้ของสายที่ใช้ได้หรือไม่ จากนั้นรันในสภาพแวดล้อมทดสอบ คำสั่งนี้ใช้ตรวจรุ่น อัปเดตแพ็กเกจพร้อม dependency และตรวจประกาศความปลอดภัยตาม เอกสาร Composer

composer show laravel/framework
composer update laravel/framework --with-all-dependencies
composer show laravel/framework
composer audit

หลังอัปเดตให้ตรวจว่ารุ่นที่ได้เป็น 12.71.0 หรือ 13.40.0 ขึ้นไปตามสายที่ใช้ หาก dependency ล็อกไว้ต่ำกว่านั้น ต้องแก้ข้อจำกัดและทดสอบก่อน นำ composer.lock ที่อัปเดตแล้วไปใช้ตอนติดตั้งด้วย

ทดสอบงาน Concurrency ทั้งตอนทำงานปกติและตอนเกิดข้อผิดพลาด ตรวจจุดพิมพ์ข้อมูลผู้ใช้และข้อความ debug ด้วย ประกาศไม่ได้ให้ขั้นตอน workaround แยกไว้ ให้ใช้การอัปเดตเป็นแนวทางหลัก

ส่วนตัวผมให้เร่งแพตช์ถ้ามีงาน Concurrency ที่พิมพ์ข้อมูลจากผู้ใช้ ส่วนแอปที่ตรวจแล้วไม่เข้าเงื่อนไขให้จัดอัปเดตในรอบบำรุงรักษาถัดไป ที่มา: Laravel: Task Output Injection - Concurrency Process (GitHub Advisory Database) เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ

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