Tuần 19–26/10 có một chủ đề xuất hiện độc lập ở cả ba nguồn tôi theo dõi. Đó là dấu hiệu mạnh hơn bất kỳ con số sao nào: nhiều nhóm không hẹn nhau cùng viết code về một vấn đề.
Lỗ hổng là gì
CVE-2026-109618 và CVE-2026-109619 nằm trong PHP, ở phần xử lý `session.upload_progress` — một tính năng có từ lâu, bật mặc định trong nhiều cấu hình. Lỗi là use-after-free trên heap, dẫn tới thực thi mã từ xa trước khi xác thực. Điểm CVSS được các bản tin nhắc tới là 9,2.
Nó chiếm ba bảng thế nào
- GitHub: 33 trong 615 repo mới của tuần liên quan tới lỗ hổng này — 5,4% số repo nhưng 9,6% tổng số sao (9.172 sao). 23 repo viết bằng Python.
- Show HN: bài “Steal My Bitcoin” đứng đầu bảng theo tốc độ với 593 điểm, 439 bình luận — một site cố tình để tiền thật cho ai khai thác được.
- Lobsters: bài “I want my money Wednesday back” (115 điểm, 31 bình luận) tranh luận ngược lại: lỗ hổng nghiêm trọng, nhưng cảnh báo “patch trong 15 phút” là phóng đại.
Hai bên nói ngược nhau, và cả hai đều có lý
Bên bán công cụ bảo mật nói phải patch ngay. Bài trên Lobsters thì đi đếm chi phí thật của một lần khai thác: PoC tốt nhất cần 4 request liên tiếp vào **cùng một worker PHP**, và phải biết chính xác bản build (phiên bản PHP, OS, kiến trúc).
PoC của `9bie` lấy image Docker mặc định có 150 worker, mở 149 kết nối gửi nửa request để giữ các worker còn lại bận, rồi đánh worker thứ 150. Trên site thật có load balancer và nhiều container, bạn phải đoán số worker và thử 50 tổ hợp PHP/OS × số worker từ 10 đến 1010 — khoảng 50.000 lần thử, mỗi lần 3–4 giây trên localhost, lạc quan là 10 giây qua internet. Đó là nhiều ngày bruteforce, và gần giống một cuộc DoS tự lộ.
Kết luận của bài đó: đây là lỗ hổng nghiêm trọng, phải patch, nhưng khuyến nghị cho site đang chạy downtime là phản ứng thái quá — và nếu biến “downtime” thành phản xạ cho mọi lỗ hổng khó, lần sau gặp một lỗi kiểu Heartbleed thì lời khuyên sẽ bị bỏ qua.
Rồi nó được khai thác thật, sau 19,28 giờ
Chính tác giả bài đó cập nhật ngày 26/10: stealmybitcoin.com — site có 2.021 USD tiền thật trong ví — không bị lỗi trong 20 giờ đầu, rồi bị lấy trong vài giờ bằng một PoC khác. Kỹ thuật khác: gửi một request producer rồi pipeline request consumer cho toàn bộ worker, giảm xác suất request lạ xen vào. Điều kiện: phải biết chính xác số worker.
Đó là câu trả lời rõ nhất cho tranh luận: lỗ hổng không khai thác hàng loạt được, nhưng đủ khai thác để lấy một mục tiêu có tiền thật, nếu mục tiêu đó chạy cấu hình đơn giản và bạn chịu thử. Chi tiết vụ bounty ở bài riêng.
Nguồn: I want my Wednesday back (cập nhật 26/10/2026), PoC 9bie, PoC KillaBoi, NCSC-NL, dữ liệu GitHub chốt 26/10/2026.