Xử lý namespace không hợp lệ có thể làm dừng tiến trình và làm lộ heap trong MongoDB C Driver

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-120956 là gì?

Lỗ hổng CVE-2026-120956 là lỗ hổng Reachable Assertion ảnh hưởng tới C Driver (phiên bản bị ảnh hưởng: 1.25.0 – ≤ 1.30.14 và 2.0.0 – ≤ 2.5.7). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.1. 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

MongoDB C Driver không kiểm tra kiểu hoặc định dạng của trường namespace do server trả về trong phản hồi truy vấn. Một MongoDB endpoint mà ứng dụng client kết nối tới có thể, không cần bất kỳ thông tin xác thực nào, trả về giá trị bị làm sai lệch trong trường đó. Điều này khiến tiến trình của ứng dụng client kết thúc, đồng thời có thể khiến driver đọc bộ nhớ bên ngoài buffer đã cấp phát và gửi một lượng nhỏ heap chưa khởi tạo của chính ứng dụng trở lại endpoint trong một lệnh tiếp theo. Tác động chỉ giới hạn ở tiến trình nhúng driver.

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

  • MongoDB C Driver 1.25.0 đến và bao gồm 1.30.14 được đánh dấu affected. Jira của MongoDB ghi nhận bản sửa ở 1.30.15.
  • MongoDB C Driver 2.0.0 đến và bao gồm 2.5.7 được đánh dấu affected. Jira của MongoDB ghi nhận bản sửa ở 2.5.8.
  • Trạng thái mặc định trong bản ghi là unaffected đối với các phiên bản không nằm trong các mục affected nêu trên. Bản ghi không xác nhận trạng thái của mọi nhánh phát hành khác.

Chi tiết kỹ thuật

MongoDB C Driver không kiểm tra kiểu hoặc định dạng của trường namespace do server trả về trong phản hồi truy vấn. Một endpoint MongoDB độc hại hoặc đã bị xâm nhập có thể trả về giá trị bị làm sai lệch trong trường này mà không cần xác thực. Khi ứng dụng client xử lý phản hồi, driver có thể làm tiến trình ứng dụng kết thúc, đọc ngoài vùng đệm đã cấp phát và gửi một lượng nhỏ heap chưa khởi tạo của ứng dụng trở lại endpoint trong một lệnh tiếp theo. Jira của MongoDB ghi nhận một trường hợp cụ thể liên quan đến ký tự NUL được nhúng trong namespace. Lỗi được phân loại là CWE-617, Reachable Assertion. Bản ghi công khai không nêu chính xác routine xử lý, kích thước dữ liệu có thể bị gửi ra ngoài hoặc mọi điều kiện triển khai bổ sung.

Khả năng khai thác

Lỗi có thể bị kích hoạt qua mạng khi ứng dụng client kết nối tới endpoint MongoDB có khả năng trả về phản hồi truy vấn độc hại hoặc đã bị sửa đổi. Endpoint không cần cung cấp thông tin xác thực cho hoạt động này, và bản ghi đánh giá tương tác người dùng là thụ động, nghĩa là ứng dụng chỉ cần xử lý phản hồi trong luồng hoạt động bình thường. Bản ghi cũng mô tả độ phức tạp khai thác là thấp. Dữ liệu được cung cấp đánh dấu không có public exploit; enrichment trả về cùng bản ghi ghi nhận exploitation là none. Đây không phải bằng chứng rằng việc khai thác là không thể, và không có chiến dịch hoặc nạn nhân cụ thể nào được xác định.

Tác động kỹ thuật

Lỗi có thể khiến tiến trình nhúng MongoDB C Driver bị kết thúc khi xử lý một query response chứa namespace sai kiểu hoặc sai định dạng. Driver cũng có thể đọc ngoài vùng đệm đã cấp phát và gửi một lượng nhỏ heap chưa khởi tạo của ứng dụng trong một lệnh tiếp theo, tạo ảnh hưởng bảo mật giới hạn ở tính bảo mật của dữ liệu trong tiến trình đó. Không có ảnh hưởng toàn vẹn dữ liệu được xác nhận, và không có bằng chứng trong bản ghi về việc lỗi mở rộng sang tiến trình hoặc hệ thống khác. Về vận hành, ứng dụng phụ thuộc vào tiến trình client có thể mất khả năng phục vụ cho đến khi được khởi động lại hoặc chuyển đổi dự phòng.

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

  • Ứng dụng sử dụng MongoDB C Driver có thể bị dừng khi xử lý phản hồi truy vấn được tạo đặc biệt, gây gián đoạn dịch vụ ở cấp tiến trình.
  • Trong một số điều kiện, một lượng nhỏ dữ liệu heap chưa khởi tạo của ứng dụng có thể được gửi lại cho endpoint, tạo khả năng lộ dữ liệu tạm thời trong bộ nhớ.
  • Tác động đã được xác nhận chỉ giới hạn ở tiến trình nhúng driver, không cho thấy khả năng sửa đổi dữ liệu hoặc kiểm soát các tiến trình khác.
  • Mức độ ảnh hưởng vận hành phụ thuộc vào vai trò của ứng dụng client và khả năng khởi động lại hoặc chuyển sang instance dự phòng.

Cách khắc phục

  1. Nâng cấp nhánh MongoDB C Driver 1.x bị ảnh hưởng lên bản sửa 1.30.15 và nhánh 2.x bị ảnh hưởng lên bản sửa 2.5.8. Dùng đúng bản sửa tương ứng với nhánh đang triển khai, không suy rộng một bản sửa cho nhánh khác.
  2. Kiểm kê mọi ứng dụng nhúng MongoDB C Driver và đối chiếu phiên bản thực tế trong binary hoặc dependency metadata với các phạm vi bị ảnh hưởng.
  3. Nếu chưa thể nâng cấp ngay, hạn chế kết nối của ứng dụng tới các MongoDB endpoint không đáng tin cậy hoặc có thể bị xâm nhập. Đây là biện pháp phòng ngừa theo điều kiện triển khai, không phải bản vá thay thế.
  4. Sau khi nâng cấp, kiểm tra lại các ứng dụng xử lý query response và theo dõi crash hoặc abort bất thường trong giai đoạn triển khai. Bản ghi không cung cấp một mitigation riêng ngoài việc cập nhật bản sửa.

Cách phát hiện

  1. Kiểm kê các ứng dụng và binary có nhúng MongoDB C Driver, sau đó xác định phiên bản driver từ package metadata, manifest phụ thuộc hoặc thông tin build.
  2. Ưu tiên rà soát các ứng dụng kết nối tới MongoDB endpoint bên ngoài phạm vi kiểm soát đầy đủ của tổ chức, đặc biệt là endpoint không đáng tin cậy hoặc có thể bị xâm nhập.
  3. Nếu có khả năng ghi nhận hoặc kiểm tra dữ liệu giao thức, rà soát các phản hồi truy vấn chứa namespace sai kiểu hoặc sai định dạng; Jira của MongoDB nêu trường hợp có embedded NUL.
  4. Rà soát crash report, abort report và telemetry của tiến trình client xảy ra sau khi nhận phản hồi truy vấn MongoDB. Đây là biện pháp giám sát phòng ngừa, không phải IOC đã được xác nhận.
  5. Không có log signature, IOC hoặc mẫu byte rò rỉ cụ thể nào được cung cấp. Việc không thấy sự kiện trong log không chứng minh hệ thống an toàn.
Nguồn (7)
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.