Chèn template trong custom link làm lộ thông tin xác thực của NetBox

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-104073 là gì?

Lỗ hổng CVE-2026-104073 là lỗ hổng thuộc các loại Exposure of Resource to Wrong Sphere và Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'), ảnh hưởng tới netbox (phiên bản bị ảnh hưởng: 2.9.5 – < 4.7.0). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 6.9. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

NetBox phiên bản 2.9.5 trước 4.7.0 chứa lỗ hổng server-side template injection, cho phép một người dùng có ít đặc quyền nhưng có quyền "Can add custom links" đánh cắp session cookie và API token của những người dùng khác do đối tượng Django HttpRequest thô được đưa vào Jinja2 template context. Kẻ tấn công có thể tạo custom link template chèn request.COOKIES['sessionid'] hoặc API token của một người dùng vào URL src của thẻ img, qua đó vượt qua bộ lọc clean_html và tự động gửi thông tin xác thực của nạn nhân tới một host do kẻ tấn công kiểm soát khi một người dùng có đặc quyền xem object, cho phép chiếm quyền kiểm soát hoàn toàn tài khoản.

Sản phẩm và phạm vi ảnh hưởng

  • Bị ảnh hưởng: NetBox của netbox-community, sản phẩm netbox, từ 2.9.5 đến trước 4.7.0.
  • Mốc đã sửa: NetBox 4.7.0 giới hạn request object được truyền vào custom link template và loại bỏ quyền truy cập tới cookie, header và session state.
  • Bản ghi chuẩn hóa đặt trạng thái mặc định là không bị ảnh hưởng ngoài phạm vi phiên bản nêu trên. Không có bản backport hoặc nhánh song song riêng nào được xác nhận trong bằng chứng hiện có.

Chi tiết kỹ thuật

NetBox render custom link bằng Jinja2 và trước đây đưa trực tiếp đối tượng Django HttpRequest vào template context. Đối tượng này có thể chứa các thông tin nhạy cảm như cookie phiên và dữ liệu liên quan đến API token. Người dùng có quyền "Can add custom links" có thể tạo custom link template tham chiếu request.COOKIES['sessionid'] hoặc token của người dùng, rồi đặt giá trị đó vào URL src của thẻ img. Khi người dùng có đặc quyền xem object chứa custom link, trình duyệt của họ có thể tự động gửi yêu cầu đến máy chủ do kẻ tấn công kiểm soát, làm lộ dữ liệu được chèn vào URL. Cách xử lý này vượt qua bộ lọc clean_html trong kịch bản được mô tả. Bản sửa đổi chuyển custom link context sang một request context an toàn, chỉ cho phép các thuộc tính đã được giới hạn như id, path, path_info, method, GET và user; cookie, header và session state không còn được cung cấp.

Khả năng khai thác

Lỗ hổng có thể bị khai thác qua giao diện web của NetBox và yêu cầu kẻ tấn công đã đăng nhập với quyền thấp cùng quyền "Can add custom links". Không cần điều kiện kỹ thuật phức tạp, nhưng cần người dùng có đặc quyền tương tác thụ động bằng cách xem object chứa custom link. Dữ liệu bị đánh cắp được gửi tới máy chủ do kẻ tấn công kiểm soát thông qua yêu cầu do trình duyệt tạo ra. Không có đường khai thác unauthenticated trực tiếp nào được mô tả trong bằng chứng hiện có. Bản ghi được cung cấp không xác nhận public exploit hoặc việc khai thác thực tế; điều này chỉ phản ánh giới hạn thông tin, không chứng minh rằng chưa từng có lạm dụng.

Tác động kỹ thuật

  • Kết quả kỹ thuật trực tiếp là tiết lộ thông tin xác thực của người dùng qua yêu cầu do trình duyệt tạo ra.
  • Session cookie có thể cho phép kẻ tấn công hành động như người dùng bị ảnh hưởng, còn API token có thể mở quyền truy cập API theo quyền của token.
  • Mô tả hiện có hỗ trợ khả năng chiếm quyền kiểm soát hoàn toàn tài khoản, nhưng không xác lập khả năng thực thi mã tùy ý hoặc làm gián đoạn dịch vụ.
  • Phạm vi ảnh hưởng phụ thuộc vào việc nạn nhân có đặc quyền xem object chứa custom link và vào quyền của session hoặc API token bị lộ.

Tác động đến tổ chức

  • Kẻ tấn công có thể thu thập session cookie hoặc API token của người dùng khác, đặc biệt là người dùng có đặc quyền xem object bị ảnh hưởng.
  • Session cookie bị đánh cắp có thể cho phép giả mạo người dùng và dẫn đến chiếm quyền kiểm soát tài khoản.
  • API token bị lộ có thể cho phép truy cập NetBox qua API theo phạm vi quyền của token đó.
  • Sự cố có thể buộc tổ chức phải vô hiệu hóa session, xoay vòng API token, rà soát custom link và kiểm tra các tài khoản có đặc quyền. Bằng chứng hiện có không xác nhận một vụ rò rỉ hoặc xâm nhập cụ thể.

Cách khắc phục

  1. Nâng cấp NetBox lên 4.7.0, là bản phát hành được nguồn của dự án xác định có thay đổi request context dành cho custom link template thành một tập thuộc tính an toàn.
  2. Trước khi nâng cấp, gỡ quyền "Can add custom links" khỏi các tài khoản không cần thiết, đặc biệt là tài khoản ít đặc quyền. Rà soát và loại bỏ các custom link template tham chiếu dữ liệu request hoặc tải tài nguyên từ host bên ngoài. Đây là biện pháp giảm thiểu tạm thời, không phải bản sửa lỗi được xác nhận.
  3. Nếu có khả năng instance đã render custom link đáng ngờ cho người dùng có đặc quyền, hãy vô hiệu hóa các session có liên quan, xoay vòng API token và kiểm tra hoạt động tài khoản như một biện pháp phòng ngừa.
  4. Nếu đang sử dụng một nhánh hoặc bản backport khác, xác nhận trực tiếp với nguồn phát hành rằng nhánh đó có thay đổi giới hạn request context; không suy luận trạng thái đã sửa chỉ từ sự tồn tại của bản 4.7.0.

Cách phát hiện

  1. Kiểm kê các phiên bản NetBox đang chạy và xác định những hệ thống nằm trong phạm vi bị ảnh hưởng.
  2. Kiểm tra việc cấp quyền "Can add custom links", đặc biệt với các tài khoản có ít đặc quyền.
  3. Rà soát các custom link template hiện có để tìm tham chiếu đến request, request.COOKIES['sessionid'], API token, thẻ img hoặc URL tải tài nguyên từ host bên ngoài.
  4. Nếu có telemetry phù hợp, kiểm tra browser, proxy, DNS và egress telemetry để tìm các yêu cầu bất thường tới host bên ngoài xảy ra khi người dùng có đặc quyền xem object. Đây là tín hiệu giám sát thận trọng, không phải IOC đã được xác nhận.
  5. Nếu phát hiện template đáng ngờ hoặc khả năng đã hiển thị cho người dùng có đặc quyền, vô hiệu hóa session liên quan, xoay vòng API token và điều tra hoạt động tài khoản. Bằng chứng hiện có không chỉ ra một log event hoặc IOC cụ thể nào.
Nguồn (11)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.