Lộ thông tin xác thực trong API của netbox-community 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-86175 là gì?

Lỗ hổng CVE-2026-86175 là lỗ hổng Insufficiently Protected Credentials ảnh hưởng tới netbox (phiên bản bị ảnh hưởng: ≤ 4.7.0). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.1. Lỗ hổng này đã có mã hoặc bằng chứng khai thác công khai, nhưng điều đó chưa xác nhận việc khai thác trong thực tế.

Giới thiệu chung

Dữ liệu gốc

NetBox từ phiên bản 4.7.0 trở về trước không che giấu thông tin xác thực backend của data source trong các response của REST và GraphQL API. Người dùng đã xác thực chỉ có quyền view có thể lấy password plaintext và secret key của các backend Git và Amazon S3 thông qua các endpoint API, từ đó đạt được quyền truy cập trái phép vào repository bên ngoài và các storage bucket.

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

  • Sản phẩm: netbox-community NetBox.
  • Phạm vi bị ảnh hưởng: bản ghi có cấu trúc xác định các phiên bản semver từ 0 đến và bao gồm 4.7.0 là affected.
  • Backend liên quan: Data Source dùng Git với khóa password và Amazon S3 với khóa aws_secret_access_key.
  • Điều kiện triển khai: instance phải có Data Source chứa các credential này và cấp quyền core.view_datasource cho tài khoản có thể gọi API.
  • Trạng thái mặc định ngoài phạm vi được liệt kê là unaffected trong bản ghi, nhưng bằng chứng hiện có không xác nhận rằng mọi nhánh phát hành muộn hơn hoặc song song đều an toàn.

Chi tiết kỹ thuật

netbox-community NetBox lưu các tham số kết nối của Data Source trong trường JSON parameters, trong đó backend Git đánh dấu password và backend Amazon S3 đánh dấu aws_secret_access_key là các tham số nhạy cảm. Ở đường REST, DataSourceSerializer vẫn đưa parameters vào danh sách trường được tuần tự hóa mà không áp dụng che giấu theo từng khóa. Ở đường GraphQL, DataSourceType sử dụng fields='__all__', nên trường parameters cũng được cung cấp cho truy vấn. Bộ lọc quyền đối tượng vẫn giới hạn tập Data Source theo quyền core.view_datasource, nhưng sau khi người dùng được phép xem đối tượng, giá trị bí mật có thể được trả về ở dạng plaintext; người dùng không cần quyền thay đổi, staff hoặc superuser. Điều kiện khai thác là có tài khoản đã xác thực và quyền xem Data Source, cùng khả năng truy cập API REST hoặc GraphQL. Chi tiết về cách bản vá xử lý mọi backend khác ngoài Git và Amazon S3 chưa được xác lập trong bằng chứng hiện có.

Khả năng khai thác

Lỗ hổng có thể bị truy cập qua mạng thông qua các API REST và GraphQL của NetBox. Kẻ tấn công cần tài khoản đã xác thực với quyền xem Data Source, nhưng không cần quyền ghi, quyền staff hoặc quyền superuser. Bản ghi mô tả yêu cầu đặc quyền thấp, độ phức tạp thấp và không cần tương tác của người dùng khác. Bản ghi cũng đánh dấu đã có tham chiếu public exploit; tuy nhiên, bằng chứng được cung cấp không xác nhận việc khai thác thực tế, chiến dịch, nạn nhân cụ thể hoặc chỉ dấu xâm nhập cụ thể.

Tác động kỹ thuật

Lỗi làm lộ plaintext credential từ NetBox sang người dùng đã xác thực có quyền xem Data Source. Kết quả trực tiếp là mất tính bí mật của thông tin xác thực; tác động đến tính toàn vẹn hoặc tính sẵn sàng của NetBox không được xác nhận. Nếu credential còn hiệu lực, người sở hữu chúng có thể truy cập repository Git hoặc bucket Amazon S3 trong phạm vi quyền được cấp bởi hệ thống bên ngoài. Mức độ thiệt hại thực tế phụ thuộc vào quyền của từng credential, phạm vi Data Source bị lộ và việc credential có được tái sử dụng ở nơi khác hay không.

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

  • Mật khẩu hoặc token dùng cho repository Git có thể bị lấy bởi người dùng NetBox chỉ có quyền đọc; quyền thực tế trên repository phụ thuộc vào credential bị lộ.
  • aws_secret_access_key của Amazon S3 có thể cho phép truy cập bucket hoặc thao tác khác theo policy của AWS identity liên quan, nhưng phạm vi quyền cụ thể không được xác định.
  • Việc lộ bí mật tạo ra rủi ro truy cập trái phép vào hệ thống bên ngoài và có thể làm phát sinh chi phí xử lý sự cố, rotation credential, điều tra log và gián đoạn các job đồng bộ.
  • Bằng chứng hiện có xác nhận disclosure credential, không xác nhận dữ liệu đã bị thay đổi, dịch vụ đã bị gián đoạn hoặc một vụ xâm nhập cụ thể.

Cách khắc phục

  1. Áp dụng bản vá của nhà cung cấp hoặc bản phát hành đã sửa lỗi. Bản ghi cho biết patch đã có, nhưng không cung cấp exact fixed release; không suy ra rằng mọi phiên bản sau 4.7.0 đều an toàn.
  2. Cho đến khi xác minh được bản sửa phù hợp, thu hẹp quyền core.view_datasource cho các tài khoản thực sự cần thiết và hạn chế quyền gọi API đối với các tài khoản đọc thông thường hoặc integration không cần xem tham số kết nối.
  3. Rotation tất cả Git password hoặc token và S3 secret access key được lưu trong các Data Source có thể đã được trả về qua API. Cập nhật credential ở hệ thống bên ngoài và rà soát log truy cập sau khi rotation.
  4. Sau khi nâng cấp, kiểm thử riêng cả REST và GraphQL để bảo đảm các khóa nhạy cảm không còn xuất hiện ở dạng plaintext. Không coi việc UI hiển thị dấu che là bằng chứng rằng API đã được sửa.
  5. Rà soát các nhánh phát hành và thông báo sửa lỗi của nhà cung cấp trước khi đóng sự cố, vì nguồn hiện có chưa xác lập ranh giới fixed cho từng nhánh.

Cách phát hiện

  • Kiểm kê các phiên bản NetBox đang chạy và các Data Source có backend Git hoặc Amazon S3.
  • Rà soát các user và API token được cấp quyền core.view_datasource, đặc biệt các tài khoản tích hợp hoặc tài khoản chỉ cần quyền đọc.
  • Kiểm tra log của reverse proxy, API gateway và ứng dụng đối với các yêu cầu tới /api/core/data-sources/ và các truy vấn GraphQL yêu cầu data_source_list cùng parameters. Đây là biện pháp rà soát phòng ngừa, không phải IOC đã được xác nhận.
  • Trong môi trường kiểm thử, dùng một tài khoản chỉ có quyền xem để xác minh response REST và GraphQL có che giấu các khóa nhạy cảm hay không; không ghi lại hoặc sao chép giá trị bí mật.
  • Nếu API đã trả về plaintext, coi các Git password hoặc token và S3 secret access key liên quan là có khả năng đã bị lộ, sau đó rà soát lịch sử truy cập của dịch vụ bên ngoài và thực hiện rotation.
Nguồn (26)
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.