Lỗ Hổng CVE n8n Nghiêm Trọng: Nguy Cơ Remote Code Execution Khẩn Cấp

Lỗ Hổng CVE n8n Nghiêm Trọng: Nguy Cơ Remote Code Execution Khẩn Cấp

Một lỗ hổng CVE nghiêm trọng đã được phát hiện trong nền tảng tự động hóa quy trình làm việc mã nguồn mở phổ biến n8n, cho phép kẻ tấn công đã xác thực thực thi các lệnh tùy ý trên hệ thống máy chủ. Lỗ hổng này mở ra nguy cơ nghiêm trọng cho các triển khai n8n trên toàn cầu.

CVE-2025-68668: Chi tiết Lỗ Hổng Nghiêm Trọng trong n8n

Lỗ hổng này được theo dõi dưới mã định danh CVE-2025-68668, với điểm CVSS 9.9/10, khẳng định mức độ nghiêm trọng cực cao.

Điểm số này chỉ ra rằng lỗ hổng có thể bị khai thác dễ dàng, tác động nghiêm trọng đến tính bảo mật và toàn vẹn của hệ thống.

Mức độ phức tạp của cuộc tấn công được đánh giá là thấp, không yêu cầu sự tương tác của người dùng và chỉ cần quyền xác thực ở cấp độ thấp cùng khả năng truy cập mạng.

Cơ Chế Khai Thác: Sandbox Bypass trong Python Code Node

Điểm yếu bảo mật của lỗ hổng CVE bắt nguồn từ vấn đề sandbox-bypass trong Python Code Node của n8n, thành phần sử dụng thư viện Pyodide để thực thi mã Python.

Lỗi này cho phép những người dùng đã xác thực, có quyền tạo hoặc sửa đổi quy trình làm việc (workflow), vượt qua cơ chế sandbox bảo mật được thiết kế.

Khi sandbox bị vượt qua, kẻ tấn công có thể thực thi các lệnh tùy ý trực tiếp trên hệ thống máy chủ đang chạy n8n.

Các lệnh này sẽ được thực thi với cùng đặc quyền của tiến trình n8n, tiềm ẩn nguy cơ chiếm quyền điều khiển hoàn toàn hệ thống.

Lỗ hổng được phân loại là CWE-693 (Protection Mechanism Failure), cho thấy các biện pháp kiểm soát bảo mật của n8n không cung cấp khả năng phòng thủ đầy đủ trước các cuộc tấn công nhắm vào môi trường thực thi Python.

Phạm Vi Ảnh Hưởng và Điều Kiện Khai Thác Lỗ Hổng n8n

Lỗ hổng CVE-2025-68668 ảnh hưởng đến tất cả các phiên bản n8n từ 1.0.0 đến 1.111.0, phơi bày một phạm vi rộng các triển khai trước nguy cơ bị xâm nhập.

Điều này có nghĩa là một lượng lớn người dùng và tổ chức đang sử dụng n8n có thể bị ảnh hưởng nếu không thực hiện các biện pháp khắc phục kịp thời.

Tấn công có độ phức tạp thấp, không yêu cầu tương tác người dùng, chỉ cần truy cập mạng và đặc quyền xác thực cấp thấp để thực hiện khai thác.

Tác Động Hệ Thống từ Remote Code Execution

Khai thác thành công lỗ hổng CVE-2025-68668 có thể dẫn đến việc chiếm quyền điều khiển hệ thống hoàn toàn.

Kẻ tấn công có khả năng thực thi các lệnh với đặc quyền của tiến trình n8n, điều này cho phép truy cập, sửa đổi hoặc xóa dữ liệu nhạy cảm, cài đặt phần mềm độc hại, hoặc thậm chí thiết lập cửa hậu (backdoor).

Phân loại phạm vi “Changed” của lỗ hổng chỉ ra rằng tác động mở rộng ra ngoài thành phần bị lỗi và có thể ảnh hưởng đến các tài nguyên bên ngoài phạm vi bảo mật của n8n.

Điều này làm tăng đáng kể rủi ro bảo mật và khả năng leo thang đặc quyền trên toàn bộ môi trường hệ thống.

Giải Pháp Khắc Phục và Cập Nhật Bản Vá Bảo Mật

n8n đã giải quyết lỗ hổng CVE nghiêm trọng này trong phiên bản 2.0.0 bằng cách triển khai mô hình thực thi Python gốc dựa trên task-runner, cung cấp khả năng cô lập (isolation) nâng cao.

Các tổ chức đang chạy các phiên bản bị ảnh hưởng nên cập nhật bản vá ngay lập tức lên phiên bản 2.0.0 hoặc mới hơn.

Theo các thông báo bảo mật của n8n được đăng trên GitHub, các tổ chức không thể nâng cấp ngay lập tức có thể áp dụng các biện pháp giảm thiểu rủi ro tạm thời. Nguồn thông tin chi tiết có tại: GitHub Security Advisory GHSA-62r4-hw23-cc8v.

Các Biện Pháp Giảm Thiểu Tạm Thời

Nếu không thể nâng cấp lên phiên bản 2.0.0 ngay lập tức, người dùng có thể áp dụng các biện pháp sau để giảm thiểu rủi ro từ lỗ hổng CVE-2025-68668:

  • Vô hiệu hóa hoàn toàn Code Node: Bằng cách đặt biến môi trường NODES_EXCLUDE để loại trừ n8n-nodes-base.code.
  • Vô hiệu hóa hỗ trợ Python: Bằng cách đặt biến môi trường N8N_PYTHON_ENABLED=false. Biện pháp này khả dụng từ phiên bản 1.104.0 trở lên.
  • Sử dụng mô hình thực thi Python theo sandbox: Kích hoạt sandbox Python dựa trên task runner thông qua các biến môi trường N8N_RUNNERS_ENABLEDN8N_NATIVE_PYTHON_RUNNER.

Ví dụ cấu hình môi trường để vô hiệu hóa Code Node

Để vô hiệu hóa Code Node, thêm dòng sau vào cấu hình môi trường của n8n (ví dụ: trong file .env hoặc cấu hình Docker):

NODES_EXCLUDE=n8n-nodes-base.code

Ví dụ cấu hình môi trường để vô hiệu hóa hỗ trợ Python

Để vô hiệu hóa hỗ trợ Python, thêm dòng sau:

N8N_PYTHON_ENABLED=false

Ví dụ cấu hình môi trường để kích hoạt sandbox Python dựa trên Task Runner

Để kích hoạt sandbox Python dựa trên Task Runner, thêm các dòng sau:

N8N_RUNNERS_ENABLED=true
N8N_NATIVE_PYTHON_RUNNER=true

Việc áp dụng các cấu hình này giúp giảm thiểu đáng kể nguy cơ khai thác, bảo vệ hệ thống khỏi các cuộc tấn công tiềm tàng.

Khuyến Nghị Bảo Mật

Do mức độ nghiêm trọng cao của lỗ hổng CVE-2025-68668, các quản trị viên hệ thống và chuyên gia an ninh mạng được khuyến nghị thực hiện các hành động khẩn cấp.

Việc ưu tiên cập nhật bản vá lên phiên bản n8n 2.0.0 hoặc cao hơn là giải pháp toàn diện nhất để loại bỏ hoàn toàn rủi ro. Nếu không thể nâng cấp ngay lập tức, việc triển khai các biện pháp giảm thiểu tạm thời là bắt buộc để duy trì an toàn thông tin.

Việc chậm trễ trong việc vá lỗi có thể dẫn đến các hậu quả nghiêm trọng, bao gồm đánh cắp dữ liệu, phá hủy hệ thống và mất quyền kiểm soát hoàn toàn.