Bypass xác minh Authenticode trong updater của Notepad++ cho phép chạy mã đã bị sửa

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

Lỗ hổng CVE-2026-85995 là lỗ hổng Improper Verification of Cryptographic Signature ảnh hưởng tới notepad-plus-plus (phiên bản bị ảnh hưởng: < 8.9.8). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.3. 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

Notepad++ là một trình soạn thảo mã nguồn miễn phí và mã nguồn mở. Từ 8.9.7 đến trước 8.9.8, updater của Notepad++ và đường dẫn xác minh chữ ký có thể chấp nhận một file GUP.exe đã bị sửa nhưng embedded certificate metadata vẫn còn, dù Authenticode digest của file không hợp lệ. Kẻ tấn công có khả năng thay thế hoặc đặt file liên quan đến updater có thể khiến Notepad++ chạy mã đã bị kẻ tấn công sửa khi người dùng kích hoạt đường dẫn updater, nhưng bản thân vấn đề này không cung cấp remote code execution. Vấn đề này đã được sửa trong phiên bản 8.9.8.

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

  • Phạm vi affected có cấu trúc trong bản ghi là các phiên bản < 8.9.8 của Notepad++.
  • Nội dung mô tả và advisory tập trung cụ thể vào phiên bản 8.9.7.
  • Bản ghi cung cấp và tài liệu phát hành xác định 8.9.8 là phiên bản sửa lỗi.
  • Trang advisory GitHub được kiểm tra trong quá trình nghiên cứu hiện liệt kê 8.9.7 là affected nhưng hiển thị chưa có patched version. Vì vậy, khi triage nên dùng ranh giới có cấu trúc < 8.9.8 và mốc sửa lỗi 8.9.8; trạng thái của các nhánh song song hoặc phiên bản mới hơn chưa được xác lập riêng.

Chi tiết kỹ thuật

Thành phần bị ảnh hưởng là updater của Notepad++, còn gọi là WinGUp, cùng đường dẫn xác minh binary đã ký. Verifier có thể kiểm tra sự hiện diện của certificate metadata nhưng vẫn chấp nhận GUP.exe đã bị sửa khi Authenticode digest không còn hợp lệ. Advisory mô tả rằng updater nguyên bản được chấp nhận, updater đã sửa nhưng giữ certificate metadata vẫn được chấp nhận và chạy, còn executable không có chữ ký bị từ chối. Điều kiện khai thác là kẻ tấn công phải có khả năng thay thế hoặc đặt file updater trong vị trí Notepad++ sử dụng, sau đó người dùng phải kích hoạt đường dẫn cập nhật. Commit sửa lỗi cho thấy việc xác minh được điều chỉnh để coi lỗi từ WinVerifyTrust là thất bại và bật kiểm tra chain of trust. Advisory không xác lập mọi cách thức file có thể được đặt vào hệ thống hoặc toàn bộ ranh giới quyền của từng môi trường.

Khả năng khai thác

Đây là lỗi có thể khai thác cục bộ, yêu cầu quyền thấp và cần người dùng tương tác bằng cách kích hoạt updater. Kẻ tấn công trước hết phải thay thế hoặc đặt một file updater liên quan để Notepad++ sử dụng; bản thân lỗi không tạo ra remote code execution từ xa. Advisory công khai một proof of concept an toàn, chỉ dùng marker, cho thấy hành vi chấp nhận và chạy binary đã sửa, nhưng đó không phải bằng chứng về việc đã có chiến dịch khai thác thực tế. Bản ghi cung cấp đánh dấu public_exploit là false và không xác định trạng thái khai thác thực tế; các trạng thái này không nên được hiểu là bằng chứng tuyệt đối rằng chưa từng có lạm dụng.

Tác động kỹ thuật

Khai thác thành công có thể khiến Notepad++ chạy mã đã bị kẻ tấn công sửa thông qua trusted updater path. Mã đó có thể gây ảnh hưởng đến tính bí mật, toàn vẹn hoặc khả dụng trong phạm vi quyền mà tiến trình Notepad++ có được. Bản ghi mô tả scope là unchanged, và điều kiện khai thác gồm truy cập cục bộ, quyền thấp cùng tương tác của người dùng. Lỗi không tự nó tạo ra remote code execution và không chứng minh việc leo thang lên quyền hệ thống. Quyền truy cập sau khi chạy mã phụ thuộc vào tài khoản và quyền của tiến trình; không có payload, nạn nhân hoặc breach cụ thể nào được xác lập.

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

Nếu khai thác thành công, Notepad++ có thể chạy mã do kẻ tấn công sửa thông qua đường dẫn updater vốn được tin cậy. Hậu quả có thể bao gồm truy cập dữ liệu, sửa đổi dữ liệu hoặc gây gián đoạn trong phạm vi quyền của tiến trình updater. Mức ảnh hưởng thực tế phụ thuộc vào tài khoản chạy Notepad++ và quyền của tiến trình trong môi trường cụ thể. Bằng chứng hiện có không xác lập một vụ xâm nhập, nạn nhân, chiến dịch hay kịch bản leo thang đặc quyền cụ thể.

Cách khắc phục

  1. Nâng cấp Notepad++ lên đúng phiên bản 8.9.8, là phiên bản được bản ghi xác định đã sửa lỗi. Không suy diễn rằng mọi nhánh phát hành về sau đều đã được xác minh từ bằng chứng này.
  2. Kiểm kê và xử lý các cài đặt thuộc phạm vi < 8.9.8, bao gồm những hệ thống có WinGUp hoặc GUP.exe được triển khai.
  3. Nếu chưa thể nâng cấp ngay, hạn chế quyền ghi vào các file và thư mục updater liên quan, đồng thời tránh kích hoạt updater trên hệ thống nơi kẻ tấn công có thể thay thế file. Đây là biện pháp phòng ngừa chung, không phải workaround cụ thể được vendor xác nhận.
  4. Xác minh binary bằng đầy đủ Authenticode validation, bao gồm digest, tính hợp lệ của chữ ký và chain of trust. Không chỉ kiểm tra certificate metadata.
  5. Sau khi cập nhật, kiểm tra lại phiên bản và xem xét các thay đổi bất thường đối với GUP.exe hoặc artifact của updater.

Cách phát hiện

  1. Kiểm kê các cài đặt Notepad++ và đánh dấu các phiên bản thấp hơn 8.9.8 để xử lý.
  2. Xác định sự hiện diện và vị trí của GUP.exe, WinGUp và các artifact updater liên quan.
  3. Dùng kiểm tra Authenticode đầy đủ để xác minh cả digest của file và chain of trust; không coi certificate metadata còn hiện diện là đủ.
  4. Rà soát file-integrity telemetry và nhật ký thực thi quanh thời điểm Notepad++ kích hoạt updater, đặc biệt đối với thay đổi hoặc thực thi bất thường của GUP.exe. Đâ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. Việc không thấy sự kiện đáng ngờ không chứng minh hệ thống an toàn.
Nguồn (15)
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.