Lỗ hổng bảo mật n8n (CVSS 10.0) cho phép kẻ tấn công không cần xác thực

Tác giả T-800, T.Một 08, 2026, 09:00:05 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Các nhà nghiên cứu an ninh mạng đã tiết lộ chi tiết về một lỗ hổng bảo mật nghiêm trọng khác trong n8n, một nền tảng tự động hóa quy trình làm việc phổ biến, cho phép kẻ tấn công từ xa không cần xác thực giành quyền kiểm soát hoàn toàn các phiên bản dễ bị tổn thương.

Lỗ hổng bảo mật này, được theo dõi với mã CVE-2026-21858 (điểm CVSS: 10.0), được Cyera Research Labs đặt tên mã là Ni8mare. Nhà nghiên cứu bảo mật Dor Attias đã được ghi nhận vì đã phát hiện và báo cáo lỗ hổng này vào ngày 9 tháng 11 năm 2025.


"Một lỗ hổng trong n8n cho phép kẻ tấn công truy cập vào các tập tin trên máy chủ thông qua việc thực thi một số quy trình làm việc dựa trên biểu mẫu nhất định," n8n cho biết trong một thông báo được công bố hôm nay. "Một quy trình làm việc dễ bị tổn thương có thể cấp quyền truy cập cho kẻ tấn công từ xa không được xác thực. Điều này có thể dẫn đến việc lộ thông tin nhạy cảm được lưu trữ trên hệ thống và có thể tạo điều kiện cho các hành vi xâm phạm tiếp theo tùy thuộc vào cấu hình triển khai và cách sử dụng quy trình làm việc."

Theo diễn biến mới nhất, n8n đã công bố bốn lỗ hổng bảo mật nghiêm trọng trong hai tuần qua:

    CVE-2025-68613 (Điểm CVSS: 9.9) - Việc kiểm soát không đúng cách các tài nguyên mã được quản lý động có thể cho phép kẻ tấn công đã xác thực đạt được khả năng thực thi mã từ xa (RCE) trong một số điều kiện nhất định (Đã được khắc phục trong các phiên bản 1.120.4, 1.121.1 và 1.122.0)
    CVE-2025-68668 hoặc N8scape (điểm CVSS: 9.9) - Một lỗ hổng cho phép người dùng đã xác thực có quyền tạo hoặc sửa đổi quy trình công việc thực thi các lệnh tùy ý trên hệ thống máy chủ đang chạy n8n (Đã được khắc phục trong phiên bản 2.0.0)
    CVE-2026-21877 (Điểm CVSS: 10.0) - Lỗ hổng cho phép tải lên tập tin không hạn chế với kiểu dữ liệu nguy hiểm, có thể cho phép kẻ tấn công đã xác thực thực thi mã không đáng tin cậy thông qua dịch vụ n8n, dẫn đến việc xâm phạm hoàn toàn hệ thống (Đã được khắc phục trong phiên bản 1.121.3)

Tuy nhiên, không giống như những lỗ hổng này, CVE-2026-21858 không yêu cầu bất kỳ thông tin xác thực nào và lợi dụng lỗ hổng nhầm lẫn " Content-Type " để trích xuất các bí mật nhạy cảm, giả mạo quyền truy cập quản trị viên và thậm chí thực thi các lệnh tùy ý trên máy chủ.

Lỗ hổng này ảnh hưởng đến tất cả các phiên bản n8n trước và bao gồm phiên bản 1.65.0. Nó đã được khắc phục trong phiên bản 1.121.0, được phát hành vào ngày 18 tháng 11 năm 2025. Cần lưu ý rằng các phiên bản mới nhất của thư viện là 1.123.10, 2.1.5, 2.2.4 và 2.3.0.

Theo thông tin kỹ thuật mà Cyera chia sẻ với The Hacker News, mấu chốt của vấn đề nằm ở cơ chế xử lý tập tin và webhook của n8n. Webhook, vốn rất quan trọng để nhận dữ liệu từ các ứng dụng và dịch vụ khi xảy ra các sự kiện nhất định, được kích hoạt sau khi yêu cầu đến được phân tích cú pháp bằng một hàm có tên là "parseRequestBody()".

Cụ thể, hàm này được thiết kế để đọc tiêu đề "Content-Type" trong yêu cầu và gọi một hàm khác để phân tích phần thân yêu cầu:

    Sử dụng parseFormData(), hay còn gọi là "trình phân tích cú pháp tải lên tệp", nếu tiêu đề "Content-Type" là " multipart/form-data ", biểu thị dữ liệu biểu mẫu.
    Hãy sử dụng parseBody() hay còn gọi là "trình phân tích cú pháp nội dung thông thường" cho tất cả các loại nội dung khác.


Trình phân tích tải lên tệp tin sử dụng hàm parse() liên kết với formidable, một mô-đun Node.js để phân tích dữ liệu biểu mẫu, và lưu trữ kết quả đã giải mã trong một biến toàn cục có tên là "req.body.files". Dữ liệu đã được điền này được xử lý bởi webhook, chỉ chạy khi tiêu đề "Content-Type" được đặt thành "multipart/form-data".

Ngược lại, trình phân tích nội dung thông thường xử lý nội dung yêu cầu HTTP đến và lưu trữ dữ liệu được trích xuất trong một biến toàn cục khác có tên là "req.body".

Lỗ hổng CVE-2026-21858 xảy ra khi một hàm xử lý tệp được chạy mà không xác minh trước rằng kiểu nội dung là "multipart/form-data", có khả năng cho phép kẻ tấn công ghi đè lên req.body.files. Cyera cho biết họ đã tìm thấy một luồng dễ bị tổn thương như vậy trong hàm xử lý việc gửi biểu mẫu ("formWebhook()"), hàm này gọi một hàm xử lý tệp ("copyBinaryFile()") để thao tác trên "req.body.files".

"Vấn đề ở đây là: vì hàm này được gọi mà không kiểm tra xem kiểu nội dung có phải là 'multipart/form-data' hay không, nên chúng ta kiểm soát toàn bộ đối tượng req.body.files," Attias nói. "Điều đó có nghĩa là chúng ta kiểm soát tham số đường dẫn tệp - vì vậy thay vì sao chép một tệp đã tải lên, chúng ta có thể sao chép bất kỳ tệp cục bộ nào từ hệ thống."

"Kết quả là gì? Bất kỳ nút nào sau nút Form sẽ nhận nội dung của tệp cục bộ thay vì nội dung mà người dùng đã tải lên."

Về cách thức cuộc tấn công có thể diễn ra, hãy xem xét một trang web có giao diện trò chuyện để cung cấp thông tin về các sản phẩm khác nhau dựa trên các tệp thông số kỹ thuật sản phẩm được tải lên cơ sở kiến thức của tổ chức bằng quy trình làm việc Biểu mẫu. Với thiết lập này, kẻ xấu có thể lợi dụng lỗ hổng bảo mật để đọc các tệp tùy ý từ phiên bản n8n và leo thang nó lên đến thực thi mã từ xa (RCE) bằng cách thực hiện các bước sau:

    Sử dụng phương thức đọc tùy ý để truy cập cơ sở dữ liệu nằm tại "/home/node/.n8n/database.sqlite" và tải dữ liệu vào cơ sở tri thức.
    Sử dụng giao diện trò chuyện để trích xuất ID người dùng, email và mật khẩu đã mã hóa của quản trị viên.
    Sử dụng lại phương thức đọc tùy ý để tải tệp cấu hình nằm tại "/home/node/.n8n/config" và trích xuất khóa bí mật mã hóa.
    Sử dụng thông tin người dùng và khóa đã thu được để tạo ra một cookie phiên giả mạo và giành quyền truy cập quản trị, dẫn đến việc bỏ qua xác thực.
    Đạt được RCE bằng cách tạo một quy trình làm việc mới với nút " Thực thi lệnh ".

"Phạm vi ảnh hưởng của một hệ thống n8n bị xâm nhập là rất lớn," Cyera cho biết. "Một hệ thống n8n bị xâm nhập không chỉ có nghĩa là mất một hệ thống duy nhất - mà còn có nghĩa là trao cho kẻ tấn công quyền truy cập vào mọi thứ. Thông tin đăng nhập API, mã thông báo OAuth, kết nối cơ sở dữ liệu, lưu trữ đám mây - tất cả đều được tập trung tại một nơi. n8n trở thành điểm yếu duy nhất và là mỏ vàng cho các tác nhân đe dọa."

Do tính chất nghiêm trọng của lỗ hổng, người dùng nên nâng cấp lên phiên bản đã vá lỗi hoặc phiên bản mới hơn càng sớm càng tốt để được bảo vệ tối ưu, tránh để lộ n8n ra internet và bắt buộc xác thực cho tất cả các biểu mẫu. Để khắc phục tạm thời, nên hạn chế hoặc vô hiệu hóa các điểm cuối webhook và biểu mẫu có thể truy cập công khai.