มาแชร์เหตุการณ์จริงเอาไว้เตือนภัยสำหรับคนทำเว็บ/DevOps/SRE ทุกสายครับ
เผื่อใครใช้ React / Next.js App Router แล้วอัปเดตไม่บ่อยแบบผม จะได้ไม่เจอเรื่องแบบนี้…
หลัง PoC เปิดไม่กี่วัน… Server ผมโดนเจาะยับ 🥲
ไม่ใช่เขียนโค้ดพลาดเอง แต่ Framework มีช่องโหว่ระดับ Critical RCE
📌 ช่องโหว่คืออะไร?
CVE-2025-55182 | React Server Components RCE
เรียกกันว่า React2Shell
Severity: 10/10 (Critical)
โจมตีผ่าน HTTP ได้เลย
ไม่ต้อง Login
ส่ง request เดียวก็ execute code บน server ได้
และที่หนักสุด... สามารถขึ้น root ได้!
ผู้ค้นพบ: Lachlan Davidson
สรุปสั้นๆ คือ attacker exploit prototype pollution ใน React Server Components → ลัดขึ้น []constructor[/] → รันคำสั่งบนเครื่องได้
ไม่ใช่ insecure deserialization อย่างหลายบทความเข้าใจผิดนะครับ
⚠️ เหตุการณ์จริงที่เกิดขึ้นกับ Server ของผม
Dec 5 08:06 พบ request scan พยายามดึง env
Dec 5 10:51 Attacker สร้าง backdoor user root คนแรก
Dec 5 15:15 เพิ่ม root user อีกคน
Dec 6 00:52 เริ่มลง cryptominer (xmrig)
Dec 6 02:07 ดาวน์โหลด malware
Dec 7 13:36 kinsing ลงเครื่องเรียบร้อย + ตั้ง persistence
ตอนเช็คเครื่องคือ CPU วิ่ง 100% fan ดังลั่น
SSH เข้าไปดูเท่านั้นแหละ… 😱 เละ
🦠 Malware ที่เจอในเครื่อง
Kinsing + XMRig Cryptominer
ไฟล์ที่เจอ
PathDescription
[]/usr/local/bin/systemhelper[/]
ตัวหลักของ malware
[]/root/2025-tax/dockerd[/]
ปลอมเป็น docker
[]/usr/lib/systemd/system/bot.service[/]
Persistence
[]/root/c3pool/xmrig[/]
miner
ฯลฯ
นอกจากนี้ยังแก้ config system อีกหลายจุด
ปิด SELinux
ปิด watchdog
cron job กลับมารันใหม่อัตโนมัติ
hosts block pool อื่นกันแย่งรายได้
เพิ่ม backdoor user uid=0 (root) 2 คน
คนทำอย่างกับอยู่เป็นปี 😩
🔍 แงะ Log ย้อนหลังเจออะไร?
User-Agent ตอนสแกน:
React2ShellScanner/1.0.0
IP malware ที่ใช้โหลด payload:
[]45.145.41.112[/]
[]185.196.10.52[/]
ตอนแรกเข้าใจว่าเป็น bot สุ่มยิง
แต่ดู timeline แล้ว เป็นเจาะแบบตั้งใจ
🔥 ทำไมมันรุนแรงมาก?
MetricValue
Attack Vector
Network
Priv Required
None
User Interaction
None
Impact
Full RCE + root access
สรุปง่ายๆ
แค่ยิง request เดียว → ได้ root → อยากทำอะไรก็ได้
จะขุดเหมือง ขโมย credential ลบ server ติด ransomware
อะไรก็เป็นไปได้
ตัวไหนโดนบ้าง?
❗ Vulnerable
React
19.0.0–19.2.0
Next.js
15.0.0–15.5.6
16.0.0–16.0.6
canary ก็โดน
✔ Patched
npm install next@15.5.7
npm install react@19.2.1
🔎 วิธีเช็คเครื่องเรามีช่องโหว่ไหม?
npm list next
npm audit
ถ้าเจอ Critical เกี่ยวกับ React Flight Protocol → เสี่ยงโดน
🛠 วิธีแก้ (Remediation)
ปลอดภัย เอาไว้ป้องกันตัวเองเท่านั้น
อัปเดต framework ด่วน
ลบ backdoor user (ถ้ามี)
หยุด service malware
ลบไฟล์ miner/systemhelper ต่างๆ
rotate credential ทั้งหมด
ถ้าโดนแล้ว ควร rebuild server ใหม่เพื่อความชัวร์
เพราะ attacker ขึ้น root มีสิทธิฝัง backdoor แบบเราไม่เห็นอีกหลายแบบ
📚 บทเรียนที่ได้
🔹 dependency ไม่อัปเดต = ประตูเปิดคาไว้
🔹 security patch ต้อง apply ทันที
🔹 Next.js App Router ใช้ Server Components by default = เสี่ยงแม้ไม่ได้เปิดเอง
🔹 อย่าคิดว่า auth/firewall จะช่วยทุกอย่าง
🔹 monitoring สำคัญมาก
สิ่งที่ช่วยชีวิตเซิร์ฟผมคือ…
เคย backup image ไว้
มี log monitoring
เจอ CPU spike ผิดปกติเลยไล่ตามต่อ
อยากฝากถึงทุกคนที่ใช้ Next.js/React
📌 อัปเดตเดี๋ยวนี้ถ้ายังไม่ได้ทำ
📌 ถ้า CPU วิ่งแปลกๆ ให้รีบสงสัยไว้ก่อน
📌 ตรวจ passwd ว่ามี user uid=0 แปลกๆ ไหม
📌 อย่าคิดว่าของเราเล็ก ไม่มีใครสนใจ – bot scan เยอะมาก
ถ้าใครอยากได้ version PDF/Markdown เอาไปแชร์ทีมแจ้งได้นะครับ
หรือใครโดนเหมือนกันมาแลกเปลี่ยนกันได้เลย 🤝
กระทู้นี้ตั้งใจทำเพื่อเป็นอุทาหรณ์ครับ
โดนจริงๆ มันเหนื่อยมากกว่าจะเก็บกวาดเสร็จ 😭
ขอบคุณที่อ่านจนจบครับ 🙏
หวังว่าจะช่วยให้ใครสักคนไม่ต้องเจ็บเหมือนผม
ประสบการณ์จริง! Server ผมโดนเจาะเพราะช่องโหว่ React2Shell (CVE-2025-55182) แค่ 1 HTTP Reques
เผื่อใครใช้ React / Next.js App Router แล้วอัปเดตไม่บ่อยแบบผม จะได้ไม่เจอเรื่องแบบนี้…
ไม่ใช่เขียนโค้ดพลาดเอง แต่ Framework มีช่องโหว่ระดับ Critical RCE
เรียกกันว่า React2Shell
Dec 5 10:51 Attacker สร้าง backdoor user root คนแรก
Dec 5 15:15 เพิ่ม root user อีกคน
Dec 6 00:52 เริ่มลง cryptominer (xmrig)
Dec 6 02:07 ดาวน์โหลด malware
Dec 7 13:36 kinsing ลงเครื่องเรียบร้อย + ตั้ง persistence
SSH เข้าไปดูเท่านั้นแหละ… 😱 เละ
แต่ดู timeline แล้ว เป็นเจาะแบบตั้งใจ
อะไรก็เป็นไปได้
npm install react@19.2.1
npm audit
🔹 security patch ต้อง apply ทันที
🔹 Next.js App Router ใช้ Server Components by default = เสี่ยงแม้ไม่ได้เปิดเอง
🔹 อย่าคิดว่า auth/firewall จะช่วยทุกอย่าง
🔹 monitoring สำคัญมาก
📌 ถ้า CPU วิ่งแปลกๆ ให้รีบสงสัยไว้ก่อน
📌 ตรวจ passwd ว่ามี user uid=0 แปลกๆ ไหม
📌 อย่าคิดว่าของเราเล็ก ไม่มีใครสนใจ – bot scan เยอะมาก
หรือใครโดนเหมือนกันมาแลกเปลี่ยนกันได้เลย 🤝
โดนจริงๆ มันเหนื่อยมากกว่าจะเก็บกวาดเสร็จ 😭
หวังว่าจะช่วยให้ใครสักคนไม่ต้องเจ็บเหมือนผม