Chèn CRLF vào cấu hình dịch vụ đặc quyền trong OPNsense Core

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

Lỗ hổng CVE-2026-57154 là lỗ hổng thuộc các loại Improper Neutralization of Special Elements in Output Used by a Downstream Component và Improper Neutralization of CRLF Sequences ('CRLF Injection'), ảnh hưởng tới core (phiên bản bị ảnh hưởng: < 26.1.11). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 8.1. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Giới thiệu chung

Dữ liệu gốc

OPNsense là một nền tảng firewall và định tuyến dựa trên FreeBSD. Trước 26.1.11 và 26.4.1p1, người dùng Web UI hoặc API đã xác thực có quyền truy cập được ủy quyền vào các thiết lập bị ảnh hưởng có thể gửi ký tự CR hoặc LF trong các trường được kỳ vọng chỉ chứa một dòng, khiến các tệp cấu hình dịch vụ đặc quyền được sinh ra chứa thêm directive hoặc policy line do kẻ tấn công kiểm soát. Đường dẫn Dnsmasq đã được xác nhận bao gồm dhcp_boot.filename, dhcp_boot.servername, dhcp_boot.address và dhcp_options.value, các giá trị này được render vào /usr/local/etc/dnsmasq.conf; quyền truy cập qua page-services-dnsforwarder bao phủ api/dnsmasq/*. Các trường bị ảnh hưởng liên quan trải rộng qua cấu hình OpenVPN, DHCPv6, Unbound, IPsec, NTP, PPP hoặc MPD, Monit, firewall, sudo, WebGUI và System General. Việc áp dụng hoặc khởi động lại dịch vụ bị ảnh hưởng có thể thay đổi hành vi vượt ra ngoài thiết lập được ủy quyền, tạo tệp phía dịch vụ, vượt qua ranh giới RBAC hoặc gây từ chối dịch vụ. Việc chèn dòng qua mật khẩu mail của Monit và các trường văn bản Monit lân cận vào /usr/local/etc/monitrc đã chứng minh thực thi lệnh với quyền root. Thực thi lệnh shell tùy ý chưa được xác nhận cho đường dẫn Dnsmasq. Lỗi này được sửa trong các phiên bản 26.1.11 và 26.4.1p1.

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

  • OPNsense Core, nhánh 26.1: bị ảnh hưởng trước 26.1.11, tương ứng với các bản đến và bao gồm 26.1.10 theo advisory của CNA. Đã sửa trong 26.1.11.
  • OPNsense Core, nhánh 26.4: advisory của CNA xác định các bản đến và bao gồm 26.4.1 là bị ảnh hưởng. Đã sửa trong 26.4.1p1.
  • Các trường hợp đã xác nhận bao gồm Dnsmasq DHCP boot và DHCP option; advisory cũng liệt kê các trường liên quan trong OpenVPN, DHCPv6, Unbound, IPsec, NTP, PPP hoặc MPD, Monit, firewall, sudo, WebGUI và System General.
  • Trạng thái của các nhánh hoặc bản phát hành song song không được hai ranh giới trên bao phủ không được suy diễn từ thông tin này.

Chi tiết kỹ thuật

Lỗi bắt nguồn từ việc nhiều trường nhập liệu được mô hình hóa như văn bản thông thường nhưng sau đó được ghi trực tiếp vào các tệp cấu hình dạng từng dòng. Khi người dùng chèn ký tự CR hoặc LF vào giá trị được kỳ vọng chỉ có một dòng, giá trị có thể kết thúc dòng cấu hình hiện tại và tạo thêm directive hoặc policy line trong tệp do dịch vụ đặc quyền quản lý.

Trong đường dẫn Dnsmasq đã được xác nhận, các trường dhcp_boot.filename, dhcp_boot.servername, dhcp_boot.address và dhcp_options.value được render vào /usr/local/etc/dnsmasq.conf. Quyền truy cập liên quan bao gồm ACL page-services-dnsforwarder và các API dưới api/dnsmasq/*. Template ghi trực tiếp các giá trị này sau các directive Dnsmasq, trong khi trường không áp dụng kiểm tra single-line đầy đủ trước khi lưu.

Mẫu khai thác cần một tài khoản Web UI hoặc API đã xác thực, được ủy quyền cấu hình thành phần bị ảnh hưởng, cùng khả năng áp dụng hoặc khởi động lại dịch vụ để cấu hình sinh ra được nạp. Phạm vi tương tự được ghi nhận ở OpenVPN, DHCPv6, Unbound, IPsec, NTP, PPP hoặc MPD, Monit, firewall, sudo, WebGUI và System General, nhưng tác động cụ thể phụ thuộc vào cú pháp và hành vi của từng dịch vụ. Việc thực thi shell tùy ý chưa được xác nhận cho đường dẫn Dnsmasq; đường dẫn Monit đã chứng minh thực thi lệnh với quyền root.

Khả năng khai thác

Lỗ hổng có thể bị khai thác qua Web UI hoặc API từ mạng quản trị, nhưng yêu cầu kẻ tấn công phải có tài khoản đã xác thực với quyền được ủy quyền trên các thiết lập bị ảnh hưởng. Không cần nạn nhân khác tương tác; chính người dùng đã xác thực thực hiện thao tác lưu cấu hình và, tùy dịch vụ, áp dụng hoặc khởi động lại dịch vụ.

Độ phức tạp của thao tác được mô tả là thấp vì dữ liệu nhập được chấp nhận như văn bản thông thường và được đưa vào tệp cấu hình sinh tự động. Advisory đã mô tả việc kiểm thử động trong máy ảo cục bộ, bao gồm đường dẫn Dnsmasq và việc tạo tệp phía dịch vụ. Bản ghi và advisory được kiểm tra không xác lập một chiến dịch đang hoạt động hoặc một public exploit; điều này không chứng minh rằng chưa từng có khai thác trong thực tế.

Tác động kỹ thuật

Đây là lỗi chèn cấu hình đã xác thực, trong đó dữ liệu do người dùng kiểm soát được đưa vào các tệp cấu hình đặc quyền mà không được giới hạn thành một dòng. Kết quả kỹ thuật có thể là thay đổi hành vi dịch vụ, tạo tệp trong phạm vi ghi của dịch vụ, làm dịch vụ không khởi động hoặc tạo policy vượt quá phạm vi quyền được ủy quyền.

  • Với Dnsmasq, tác động đã xác nhận gồm chèn directive bổ sung vào /usr/local/etc/dnsmasq.conf, tạo tệp phía dịch vụ và có thể gây ảnh hưởng tính sẵn sàng nếu chèn directive không hợp lệ hoặc xung đột.
  • Với Monit, việc chèn qua trường mật khẩu mail và các trường văn bản lân cận đã chứng minh thực thi lệnh với quyền root.
  • Với các thành phần khác, tác động phụ thuộc vào cú pháp và quyền của directive được chèn; không nên mặc định mọi đường dẫn đều cho cùng một kết quả.
  • Thực thi shell tùy ý chưa được xác nhận cho đường dẫn Dnsmasq. Bản ghi cũng không xác lập một kịch bản rò rỉ dữ liệu cụ thể.

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

  • Người vận hành có quyền hạn chế trên Web UI hoặc API có thể tác động đến cấu hình backend đặc quyền vượt quá mục đích của quyền được cấp, làm suy yếu ranh giới RBAC của OPNsense.
  • Các directive hoặc policy line được chèn có thể thay đổi hoạt động của DNS, DHCP, VPN, firewall, sudo, WebGUI hoặc dịch vụ giám sát, tùy thành phần và cú pháp được chấp nhận.
  • Cấu hình không hợp lệ hoặc xung đột có thể khiến dịch vụ không khởi động hoặc ngừng cung cấp chức năng, dẫn đến gián đoạn mạng hoặc quản trị.
  • Đường dẫn Dnsmasq đã chứng minh khả năng tạo tệp trong vị trí mà ngữ cảnh khởi động hoặc runtime của dịch vụ có quyền ghi. Đường dẫn Monit đã chứng minh thực thi lệnh với quyền root.
  • Không có bằng chứng trong bản ghi cho thấy một kịch bản rò rỉ dữ liệu cụ thể; tác động được xác nhận tập trung vào tính toàn vẹn cấu hình, quyền và tính sẵn sàng dịch vụ.

Cách khắc phục

  1. Nâng cấp OPNsense Core lên bản sửa tương ứng với nhánh đang sử dụng: 26.1.11 cho nhánh 26.1, hoặc 26.4.1p1 cho nhánh 26.4.
  2. Nếu chưa thể nâng cấp, hạn chế tạm thời quyền Web UI và API đối với Dnsmasq cùng các khu vực cấu hình được advisory liệt kê; đặc biệt rà soát các tài khoản delegated hoặc operator có khả năng áp dụng hay khởi động lại dịch vụ. Đây là biện pháp giảm phơi nhiễm, không thay thế bản sửa.
  3. Kiểm tra và loại bỏ các giá trị nhiều dòng bất thường trong các trường được render vào tệp cấu hình dịch vụ. Không chỉ giới hạn việc rà soát ở Dnsmasq, vì lỗi có nhiều đường dẫn cấu hình.
  4. Sau khi nâng cấp, xác minh các tệp cấu hình được sinh lại và kiểm tra dịch vụ liên quan có khởi động bình thường. Advisory mô tả hướng sửa là từ chối CR và LF trong các trường logic chỉ cho phép một dòng, bổ sung validation theo grammar của dịch vụ và dùng kiểu trường single-line ở tầng model.
  5. Rà soát các thay đổi cấu hình và lần áp dụng hoặc khởi động lại dịch vụ trong thời gian phiên bản bị ảnh hưởng còn được triển khai. Nếu phát hiện directive hoặc policy line ngoài dự kiến, xử lý như một sự kiện toàn vẹn cấu hình và điều tra quyền của tài khoản đã thực hiện thay đổi.

Cách phát hiện

  • Kiểm kê các hệ thống chạy OPNsense Core và xác định chúng có thuộc nhánh 26.1 hoặc 26.4 bị ảnh hưởng hay không.
  • Rà soát nhóm và vai trò được cấp quyền cấu hình Dnsmasq, đặc biệt quyền tương ứng với page-services-dnsforwarder, cùng các quyền quản lý OpenVPN, DHCPv6, Unbound, IPsec, NTP, PPP hoặc MPD, Monit, firewall, sudo, WebGUI và System General.
  • Kiểm tra các tệp cấu hình sinh bởi dịch vụ để tìm directive, policy line hoặc nội dung nhiều dòng bất thường, bao gồm /usr/local/etc/dnsmasq.conf, /usr/local/etc/monitrc, /var/etc/dhcp6c.conf, /var/etc/ntpd.conf, /var/etc/mpd_*.conf, /usr/local/etc/swanctl/swanctl.conf, /usr/local/etc/strongswan.conf, các tệp php.ini sinh tự động và các tệp cấu hình tương ứng được advisory nêu.
  • Đối chiếu lịch sử thay đổi cấu hình với các lần áp dụng hoặc khởi động lại dịch vụ, nếu hệ thống có lưu audit log phù hợp. Đây là biện pháp rà soát bổ sung, không phải một indicator đã được xác nhận.
  • Không thấy IOC cụ thể nào được thiết lập cho lỗi này. Việc không tìm thấy dòng bất thường trong cấu hình hoặc log không chứng minh hệ thống chưa từng bị khai thác.
Nguồn (8)
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.

Khám phá các giải pháp khác liên quan