Lỗ hổng zero-day trên Adobe Commerce và Magento

Vừa qua, Adobe đã phát hành bản vá khẩn cấp APSB26-146 cho lỗ hổng zero-day điểm tuyệt đối CVE-2026-75650 ảnh hưởng đến Adobe Commerce và Magento Open Source. Đây là lỗ hổng server-side template injection không cần xác thực cho phép thực thi mã từ xa (unauthenticated RCE) với điểm CVSS 10.0. Thống kê cho biết, ít nhất hai nhóm threat actor độc lập đã khai thác lỗ hổng để triển khai: một backdoor Linux viết bằng Rust (tự cập nhật, giả mạo traffic NTP để ẩn C2) và một PHP web shell 485 byte. Ước tính hơn 111.000 Magento instance có khả năng bị ảnh hưởng.
Thông tin chi tiết
Định danh lỗ hổng: CVE-2026-75650
Điểm CVSS(3.1): 10.0
Mức độ nghiêm trọng: CRITICAL – Cực kỳ nghiêm trọng
Loại lỗ hổng: Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336) - Server-Side Template Injection (SSTI) không cần xác thực
Mô tả: CVE-2026-75650 là lỗ hổng server-side template injection trong hệ thống email template của Adobe Commerce và Magento Open Source. Lỗ hổng phát sinh do Magento không làm sạch đúng cách dữ liệu đầu vào trong thuộc tính styles của email template khi tạo email "Payment Transaction Failed Reminder" (thông báo giao dịch thanh toán thất bại). Kẻ tấn công hoàn toàn không cần xác thực có thể nhúng PHP code độc hại vào thuộc tính styles, khi email được render hoặc preview, Magento template engine xử lý và thực thi PHP code đó với toàn quyền của web server process. Vì đây là tính năng có thể kích hoạt từ frontend bởi bất kỳ ai (kể cả khách hàng chưa đăng nhập), attack surface cực kỳ rộng. Kết quả là kẻ tấn công đạt được RCE trên server thương mại điện tử với quyền đọc/ghi toàn bộ filesystem, truy cập database chứa thông tin khách hàng và payment data, và có thể cài backdoor persistent.
Phiên bản bị ảnh hưởng:
| Sản phẩm | Phiên bản bị ảnh hưởng |
|---|---|
| Adobe Commerce | 2.4.4 đến 2.4.9 (bao gồm bản phát hành tháng 08/2026) |
| Adobe Commerce B2B | 1.3.3 đến 1.5.3 (bao gồm bản phát hành tháng 08/2026) |
| Magento Open Source | 2.4.6 đến 2.4.9 (bao gồm bản phát hành tháng 08/2026) |
- Bản vá phát hành: Adobe Security Bulletin APSB26-146 / hotfix VULN-39341
Điểm đáng lo ngại đặc biệt: cửa hàng đầu tiên được xác nhận bị khai thác đang chạy Magento 2.4.6-p15 với cả bản cập nhật tháng 7 và tháng 8 năm 2026 đã được áp dụng, chứng minh rằng các hệ thống được coi là "fully patched" vẫn hoàn toàn có thể bị khai thác bởi StyleSmuggler.
Hai luồng tấn công đã xác nhận
Hai nhóm threat actor độc lập khai thác CVE-2026-75650 với payload khác nhau:
Luồng tấn công 1: triển khai backdoor Linux viết bằng Rust. Backdoor có khả năng tự cập nhật, kết nối đến máy chủ C2 bên ngoài để chờ lệnh, nguỵ trang traffic C2 thành gói tin NTP (Network Time Protocol) trên port 123, khiến traffic độc hại lẫn vào traffic time-sync thông thường và qua mặt nhiều công cụ giám sát. Backdoor cũng giả mạo tên tiến trình thành các process hệ thống Linux hợp lệ.
Luồng tấn công 2 (không liên quan đến luồng đầu): triển khai PHP web shell 485 byte có khả năng thực thi lệnh PHP tùy ý theo yêu cầu.
Adobe Commerce (trước đây là Magento Commerce) và Magento Open Source là nền tảng thương mại điện tử phổ biến nhất thế giới, cấp nguồn cho hàng trăm nghìn cửa hàng trực tuyến, từ doanh nghiệp vừa và nhỏ đến các tập đoàn bán lẻ lớn. Khác với các ứng dụng web thông thường, server thương mại điện tử lưu trữ và xử lý dữ liệu đặc biệt nhạy cảm: thông tin thẻ tín dụng, lịch sử giao dịch của hàng triệu khách hàng, khóa mã hóa (encryption key), API credential kết nối với payment gateway, và toàn bộ catalog sản phẩm cùng cấu hình kinh doanh. Đây chính xác là lý do các cuộc tấn công vào Magento luôn được phân loại ở mức rủi ro cao nhất.
StyleSmuggler kết hợp ba yếu tố nguy hiểm nhất trong bảo mật ứng dụng web: không cần xác thực, không cần tương tác người dùng, và đạt được thực thi mã trên server, tất cả thông qua một tính năng business thông thường là tạo email thông báo thanh toán. Lỗ hổng bắt nguồn từ lỗi cơ bản trong xử lý template: Magento cho phép thuộc tính styles trong email template chứa dữ liệu tùy ý mà không kiểm tra và sanitize đúng cách, khiến bất kỳ nội dung PHP nào cũng được template engine xử lý và thực thi. Đây là lớp lỗ hổng SSTI (Server-Side Template Injection) đã được nghiên cứu rộng rãi, nhưng vẫn tiếp tục xuất hiện trong các ứng dụng lớn vì độ phức tạp của việc sanitize đúng cách trong các hệ thống template tùy biến cao.
Tình huống càng nghiêm trọng hơn bởi timeline của disclosure: Sansec phát hiện và công bố lỗ hổng ngay sau khi quan sát lần khai thác đầu tiên, không chờ Adobe phát hành bản vá. Quyết định full disclosure trước khi có bản vá tạo ra áp lực để Adobe hành động nhanh, nhưng đồng thời cũng cung cấp thông tin cho các threat actor khác để bắt đầu khai thác, giải thích tại sao luồng tấn công thứ hai (PHP web shell) xuất hiện ngay sau đó. Ba ngày từ lần khai thác đầu tiên đến bản vá đại diện cho khoảng thời gian trong đó hơn 111.000 cửa hàng Magento trên toàn thế giới có thể bị compromise mà không có bất kỳ biện pháp nào để phát hiện hoặc ngăn chặn.
Chiều hướng đặc biệt nguy hiểm của Rust backdoor là khả năng tồn tại sau khi bản vá được áp dụng: việc vá lỗ hổng ngăn các cuộc tấn công mới nhưng không loại bỏ backdoor đã được cài trước đó. Các cửa hàng bị compromise trong giai đoạn 04/09–07/09 có thể vẫn đang bị kiểm soát ngay cả sau khi họ đã cài hotfix, và Rust backdoor được thiết kế để tránh bị phát hiện bởi các công cụ scan thông thường.
Tổng quát quá trình khai thác CVE-2026-75650 (StyleSmuggler)
Quá trình khai thác có thể được chia thành các giai đoạn sau:
Thu thập thông tin (Reconnaissance)
Mục tiêu: xác định các cửa hàng Adobe Commerce và Magento chưa vá hotfix VULN-39341.
Hành động: kẻ tấn công quét Internet tìm các cửa hàng Magento qua fingerprint kỹ thuật (response header, checkout flow, favicon, error page pattern). Xác định phiên bản Magento từ các dấu hiệu nhận dạng và kiểm tra xem hotfix đã được áp dụng chưa. Với hơn 111.000 instance đang lộ công khai, automated scanning là phương pháp chính.
Craft Template Injection Payload (Payload Construction)
Kẻ tấn công tạo payload PHP code injection được nhúng vào thuộc tính styles của email template trong request HTTP.
Payload được thiết kế để thực thi khi Magento template engine render email "Payment Transaction Failed Reminder".
Gửi Request không cần xác thực (Unauthenticated Exploitation)
Kẻ tấn công gửi HTTP request đến endpoint tạo email của Magento với payload StyleSmuggler trong thuộc tính styles.
Không cần tài khoản, không cần session hợp lệ, không cần bất kỳ tương tác người dùng nào.
Template engine của Magento xử lý payload và thực thi PHP code độc hại với quyền của web server process.
Thực thi Mã và Triển khai Payload (Code Execution & Payload Delivery)
PHP code được thực thi trên server Magento với quyền của tiến trình web server.
Luồng tấn công 1: tải và thực thi Rust backdoor binary, lưu trên server và khởi chạy dưới dạng process nền giả mạo tên hệ thống.
Luồng tấn công 2: ghi PHP web shell 485 byte vào filesystem tại vị trí web-accessible.
Thiết lập Persistence và C2 (Rust Backdoor)
Rust backdoor kết nối ra ngoài đến máy chủ C2 trên port 123 với traffic được định dạng giống NTP packet, blending vào traffic time-sync bình thường, qua mặt network monitoring tool.
Backdoor có khả năng tự cập nhật bản thân khi nhận lệnh từ C2.
Process name được giả mạo thành các tiến trình Linux hệ thống hợp lệ, evade process-based detection.
Hậu khai thác (Post-Exploitation)
Đọc và đánh cắp file cấu hình Magento chứa database credential, encryption key, và API key kết nối payment gateway.
Truy cập database: thu thập thông tin khách hàng, lịch sử đơn hàng, và dữ liệu payment được lưu.
Cài đặt payment skimmer vào checkout flow, đánh cắp thông tin thẻ tín dụng của khách hàng theo thời gian thực (Magecart-style attack).
Với Rust backdoor: duy trì persistent access lâu dài, nhận và thực thi lệnh từ C2, lateral movement vào hạ tầng nội bộ phía sau server Magento.
Backdoor tồn tại ngay cả sau khi hotfix được áp dụng, cần điều tra và cleanup riêng biệt ngoài việc vá lỗ hổng.
Khuyến nghị & Khắc phục
Đội ngũ FPT Threat Intelligence khuyến nghị người dùng và quản trị viên cần cân nhắc thực hiện ngay các hành động sau:
Cài đặt hotfix khẩn cấp ngay lập tức: Áp dụng hotfix VULN-39341 từ Adobe Security Bulletin APSB26-146 cho tất cả phiên bản Adobe Commerce và Magento Open Source bị ảnh hưởng. Lưu ý quan trọng: nếu cửa hàng đã cài đầy đủ bản cập nhật tháng 7 và tháng 8 năm 2026, vẫn phải áp dụng hotfix này riêng biệt vì StyleSmuggler không được vá trong các đợt cập nhật trước đó.
Không nhầm "fully patched" với "protected": Đây là bài học quan trọng của StyleSmuggler, một cửa hàng có thể đang chạy phiên bản Magento mới nhất với mọi bản vá trước đó nhưng vẫn vulnerable với zero-day này. Quy trình patch management phải bao gồm theo dõi security bulletin ngoài chu kỳ định kỳ, không chỉ dựa vào monthly update.
Điều tra dấu hiệu compromise: Mọi cửa hàng chưa áp dụng hotfix phải coi là có thể đã bị compromise và cần điều tra ngay:
Tìm kiếm file PHP bất thường mới được tạo trong filesystem web root, đặc biệt là file có kích thước nhỏ (~485 byte) hoặc tên ngẫu nhiên.
Kiểm tra process đang chạy trên server, tìm Rust binary hoặc process với tên giống system process nhưng không phải system process thực sự.
Kiểm tra outbound network connection trên port 123 (UDP/TCP): traffic NTP bất thường đến IP không phải NTP server quen thuộc là dấu hiệu của Rust backdoor C2.
Rà soát web server access log tìm các request đến endpoint tạo email với payload styles bất thường.
Kiểm tra cron job, systemd service, hoặc startup script mới không theo kế hoạch.
Rotate toàn bộ credential và key: Ngay cả khi không tìm thấy dấu hiệu compromise rõ ràng, các cửa hàng chưa vá cần rotate ngay:
Database credential trong file cấu hình Magento.
Encryption key và cryptographic material.
API key kết nối payment gateway (Stripe, PayPal, Braintree, v.v.).
Admin account password toàn bộ.
Bất kỳ API token hoặc OAuth credential nào được lưu trong cấu hình.
Thông báo cho khách hàng (nếu cần): Nếu phát hiện bằng chứng compromise trong giai đoạn lỗ hổng, đặc biệt là payment skimmer, cần đánh giá ngay nghĩa vụ thông báo vi phạm dữ liệu theo quy định (GDPR, PCI DSS, Nghị định bảo vệ dữ liệu cá nhân). Khuyến nghị khách hàng đã mua hàng liên hệ ngân hàng để giám sát giao dịch.
Giám sát traffic NTP bất thường: Thiết lập alert cho outbound connection đến IP bên ngoài trên port 123 từ web server. NTP traffic thông thường chỉ đến một tập hợp nhỏ các NTP server đã biết, bất kỳ kết nối nào ngoài danh sách đó cần được điều tra ngay.
Kiểm tra tính toàn vẹn của checkout flow: Thêm biện pháp giám sát script injection vào checkout page: Subresource Integrity (SRI) cho external script, Content Security Policy (CSP) header, và monitoring thay đổi HTML/JS bất thường trong quá trình thanh toán để phát hiện Magecart-style skimmer.
Tham khảo






