- Bản tin bug bounty tháng 4/2026 của Intigriti mang về 3 writeup đáng đọc: @0xLupin chiếm NPM package 40 triệu lượt tải/tuần trong tuần đầu đi làm, @YourFinalSin bypass Cloudflare WAF thành ATO, và @pingiskok xuất bản series khai thác JWT 20 phần.
- Điểm nhấn tooling: XNLDorker, OXML_XXE, URLHunter, CewlAI.
TL;DR
Bug Bytes #235 — số tháng 4/2026 của Intigriti, phát hành 24/04/2026 — chưng ra ba cú punch đáng nhớ trong một tháng mà “supply chain” và AI tiếp tục thống trị bàn hacker: một NPM package có ~40 triệu lượt tải mỗi tuần bị compromise trong tuần đầu người maintainer mới đi làm, một payload XSS lạ đời lách qua Cloudflare WAF để leo thành account takeover, và một bộ tài liệu JWT 20 phần được gom về một chỗ. Cộng thêm meetup đầu tiên của Intigriti tại Brasov (Romania) ngày 14/05/2026.
Có gì mới trong số 235
Intigriti duy trì Bug Bytes như bản digest hàng tháng cho hơn 125.000 security researcher. Số 235, do Ayoub biên soạn, xoay quanh ba mạch: writeup kỹ thuật chất lượng cao, bộ công cụ mới đáng thử, và lịch cộng đồng. Ngoài ba writeup chính, ban biên tập cũng đẩy ba bài phân tích: Common Misconceptions About Bug Bounty (phá vỡ quan niệm “bug bounty chỉ là pentest đổi tên”), The A(I) Future of Bug Bounty, và Vulnpocalypse Now — panel có COO Ed Parsons bàn về tốc độ lỗ hổng bị khai thác so với tốc độ vá, tương lai của researcher con người khi AI ngày càng xuất hiện nhiều trong pipeline submission.
NPM package 40 triệu lượt tải/tuần bị chiếm
Researcher @0xLupin demo một kịch bản supply-chain khiến nhiều team AppSec phải rà lại quy trình: anh compromise một NPM package với ~40 triệu lượt tải mỗi tuần ngay trong tuần đầu tiên đi làm. Chi tiết ông đưa ra cho thấy vector không phải zero-day cao siêu mà là các khe quen thuộc — maintainer tài khoản ngủ quên, 2FA yếu, quyền publish bị bỏ lại. Bài học: một package xài chung kiểu lodash/express-core có thể gãy cả downstream supply chain trong vài phút, và “40M weekly” nghĩa là blast radius trải khắp ngành.
Cloudflare WAF thủng qua event handler lạ → full ATO
Bài viết của @YourFinalSin có lẽ là writeup “đã” nhất tháng. Anh phát hiện payload XSS dùng event handler oncontentvisibilityautostatechange — một handler mới, hiếm trong danh sách chặn của Cloudflare Managed Ruleset. Vì WAF không biết pattern đó, payload lọt qua, JS chạy trong context nạn nhân, rồi chain tiếp thành full Account Takeover. Đây là ví dụ kinh điển rằng WAF tốt đến đâu cũng chỉ là một layer — khi browser spec đẻ ra event handler mới, managed ruleset luôn trễ một nhịp, và researcher nào lẹ tay hơn thì ăn bug.
20 phần khai thác JWT gộp về một chỗ
@pingiskok xuất bản series 20 phần về khai thác JWT, toàn bộ host tại rmrf.tips. Series đi xuyên các lớp tấn công kinh điển: alg confusion, none-alg, kid injection, key confusion (HS256 ↔ RS256), embedded JWK, JWKS spoofing, và các hướng mới hơn. Thay vì lục rải rác Medium và Twitter, researcher giờ có một điểm tham chiếu duy nhất — tiện cho cả bug hunter lẫn dev đang viết auth lib.
Tool drops đáng thử
- XNLDorker — dork đồng thời Google, Bing, DuckDuckGo, có cơ chế né anti-bot detection.
- OXML_XXE — nhúng payload XXE/XML vào DOCX, XLSX, PPTX, ODT, SVG. Hữu ích cho phase gửi file upload.
- URLHunter — scan URL shortener đã archive (Bitly, Google) để lộ liên kết cũ đáng lẽ private.
- CewlAI — subdomain enumeration bằng AI dựa trên pattern, không dựa hoàn toàn vào wordlist.
Tại sao tháng này đáng đọc kỹ
Ba writeup chính tuy khác domain nhưng cùng kể một câu chuyện: điểm yếu thường không nằm ở lỗ hổng phức tạp mà ở khe quản lý — tài khoản, rule WAF, tài liệu rải rác. Với team AppSec, checklist phản xạ sau khi đọc xong: (1) audit lại danh sách maintainer NPM nội bộ + external dependency, tắt publish access cho tài khoản ngủ quên; (2) review WAF rule cho các event handler HTML mới (oncontentvisibilityautostatechange, onbeforematch, v.v.); (3) kiểm tra JWT implementation theo checklist mới của @pingiskok thay vì tin tưởng vào lib mặc định.
Sự kiện cộng đồng & những mục khác
- Intigriti Bug Bounty Meetup — Brasov, Romania: 14/05/2026, 18:00, Hotel Ambient (Sala Millenia). Đây là meetup Intigriti đầu tiên tại thành phố này, do Hacker Ambassador Cristian (@CristiVlad25) cùng Brașov Cybersecurity Community tổ chức. Số chỗ giới hạn, cần đăng ký.
- Stuttgart Ambassador Meetup (đã diễn ra): meetup Đức đầu tiên do Marc-Oliver (@marcolivermunz) dẫn dắt. Takeaway: hiểu bản chất hơn là nhớ tool, luôn nghi ngờ giả định, kiên trì hơn cầu toàn.
- BugQuest 2026 — chuỗi 31 ngày challenge về broken access control, có tip và walkthrough hằng ngày.
- CTF 0326 — 71 người giải, first-blood @infernosalex, bài thi xoay quanh DOM clobbering + CSP bypass.
- AI Report Writing Guide — hướng dẫn dùng LLM viết báo cáo lỗ hổng mà không vướng bẫy payload hallucinate hoặc PoC chưa kiểm chứng.
Kế hoạch tiếp theo
Số 236 (tháng 5/2026) sẽ ra cuối tháng tới, gần như chắc chắn có writeup từ meetup Brasov và các bài đọc tiếp theo từ BugQuest. Để không bỏ lỡ, đăng ký newsletter qua Intigriti hoặc đọc trực tiếp tại blog chính thức.
Nguồn: intigriti.com, @intigriti on X.
