Theo các nhà nghiên cứu tại công ty bảo mật ứng dụng đám mây Snyk, việc khai thác lỗ hổng bắt đầu từ đầu tháng 02/2026, trước khi các vấn đề bảo mật được công khai vào cuối tháng đó.
Qinglong là một nền tảng quản lý thời gian mã nguồn mở tự lưu trữ, phổ biến trong giới lập trình viên tại Trung Quốc, nó đã được sao chép (fork) hơn 3.200 lần và có hơn 19.000 lượt đánh dấu sao trên GitHub.
Hai lỗ hổng bảo mật này ảnh hưởng đến các phiên bản Qinglong 2.20.1 trở xuống và có thể được kết hợp để thực thi mã độc từ xa:
- CVE-2026-3965: Một rule rewrite bị cấu hình sai sẽ ánh xạ các yêu cầu “open/*” sang “/api/*”, vô tình làm lộ các điểm cuối quản trị được bảo vệ thông qua một đường dẫn không xác thực.
- CVE-2026-4047: Quá trình kiểm tra xác thực xử lý các đường dẫn phân biệt chữ hoa và chữ thường (/api/), cho phép các yêu cầu như “/aPi/...” vượt qua quá trình xác thực và truy cập vào các điểm cuối được bảo vệ.
Nguyên nhân của cả hai lỗi này do sự không tương thích giữa logic xác thực của middleware và hành vi định tuyến của Express.js. Các nhà nghiên cứu của Snyk giải thích: “Cả hai lỗ hổng đều xuất phát từ sự không khớp giữa các giả định của middleware và hành vi của framwork. Lớp xác thực giả định rằng một số dạng URL sẽ luôn được xử lý theo một cách nhất định, trong khi Express.js lại xử lý chúng theo cách khác”.

Snyk cho rằng tin tặc đã nhắm mục tiêu vào hai lỗ hổng trên các bo mạch Qinglong được công khai để triển khai phần mềm khai thác tiền điện tử kể từ ngày 7/2. Hoạt động này lần đầu tiên được phát hiện bởi người dùng Qinglong, họ báo cáo về một tiến trình ẩn bất thường có tên “.fullgc” đang sử dụng từ 85% đến 100% CPU. Tên gọi này cố tình bắt chước “Full GC”, một tiến trình vô hại nhưng tốn nhiều tài nguyên, nhằm tránh bị phát hiện.
Theo Snyk, những kẻ tấn công đã lợi dụng các lỗ hổng để sửa đổi tệp config.sh của Qinglong và chèn các lệnh shell để tải xuống phần mềm độc hại vào “/ql/data/db/.fullgc”, rồi thực thi nó trong nền. Tài nguyên từ xa nằm tại “file.551911.xyz” chứa nhiều phiên bản khác nhau của tệp nhị phân, bao gồm cả phiên bản trên Linux x86_64, ARM64 và macOS.
Các cuộc tấn công tiếp tục diễn ra với nhiều trường hợp lây nhiễm được xác nhận trên nhiều cấu hình khác nhau, bao gồm cả phía sau Nginx và SSL, trong khi những người bảo trì Qinglong chỉ phản hồi về tình hình vào ngày 1/3, họ thừa nhận về lỗ hổng và kêu gọi người dùng cài đặt bản cập nhật mới nhất.
Tuy nhiên, biện pháp khắc phục trong bản phát hành pull #2924 tập trung vào việc ngăn chặn các mẫu tấn công chèn lệnh, điều mà Snyk cho rằng là chưa đủ. Các nhà nghiên cứu báo cáo rằng giải pháp hiệu quả đã được đưa ra trong PR #2941, bản vá này đã khắc phục lỗi vượt qua xác thực trong phần mềm trung gian.
