Lỗi xử lý GSSAPI của Ubuntu OpenSSH có thể gây từ chối dịch vụ và rò rỉ bộ nhớ

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

Lỗ hổng CVE-2026-3497 là lỗ hổng Use of Uninitialized Resource ảnh hưởng tới openssh (phiên bản bị ảnh hưởng: 1:10.0p1-5ubuntu5 – < 1:10.0p1-5ubuntu5.1, 1:9.6p1-3ubuntu13 – < 1:9.6p1-3ubuntu13.15 và các phiên bản bị ảnh hưởng khác). 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

Lỗ hổng trong phần delta GSSAPI của OpenSSH được đưa vào nhiều bản phân phối Linux. Lỗ hổng này ảnh hưởng đến các bản vá GSSAPI do nhiều bản phân phối Linux bổ sung và không ảnh hưởng đến chính dự án upstream của OpenSSH. Việc sử dụng sshpkt_disconnect() khi xảy ra lỗi, trong khi hàm này không kết thúc tiến trình, cho phép kẻ tấn công gửi một loại thông báo GSSAPI bất ngờ tới máy chủ trong quá trình trao đổi khóa GSSAPI; máy chủ sẽ gọi hàm bên dưới và tiếp tục thực thi chương trình mà không thiết lập các biến kết nối liên quan. Vì các biến này không được khởi tạo về NULL, mã nguồn sau đó truy cập các biến chưa khởi tạo đó và đọc bộ nhớ ngẫu nhiên, điều có thể dẫn đến hành vi không xác định. Workaround được khuyến nghị là sử dụng ssh_packet_disconnect() thay thế, vì hàm này có kết thúc tiến trình. Tác động của lỗ hổng phụ thuộc rất lớn vào cấu hình hardening của các cờ compiler.

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

  • Ubuntu openssh: supplied affected facts xác nhận các gói sau ở trạng thái affected: 1:10.0p1-5ubuntu5 less than 1:10.0p1-5ubuntu5.1, 1:9.6p1-3ubuntu13 less than 1:9.6p1-3ubuntu13.15, và 1:8.9p1-3 less than 1:8.9p1-3ubuntu0.14. Ubuntu công bố bản sửa lần lượt tại 1:10.0p1-5ubuntu5.1 cho 25.10, 1:9.6p1-3ubuntu13.15 cho 24.04 LTS, và 1:8.9p1-3ubuntu0.14 cho 22.04 LTS.
  • Ubuntu 20.04 LTS: trang trạng thái Ubuntu hiện ghi nhận bản sửa tại 1:8.2p1-4ubuntu0.13+esm1, có sẵn qua Ubuntu Pro. Record chuẩn hóa không cung cấp ranh giới lower bound của phạm vi affected cho nhánh này, vì vậy không suy ra một range mở rộng hơn.
  • Ubuntu 18.04 LTS và cũ hơn: Ubuntu ghi nhận không affected vì dùng đường gọi packet_disconnect() dẫn tới hàm kết thúc tiến trình đúng. Gói openssh-ssh1 được ghi nhận là ignored và không có hỗ trợ bảo mật cho mục đích này.
  • Debian: thông báo bảo trì Debian ghi nhận bản sửa trong 1:10.0p1-7+deb13u2 cho trixie-security và 1:9.2p1-2+deb12u9 cho bookworm-security. Các nguồn này xác nhận mốc fixed, nhưng không cung cấp trong nội dung đã kiểm tra một range affected đầy đủ cho từng nhánh.
  • Red Hat Enterprise Linux và OpenShift Container Platform: Red Hat xác nhận lỗi ảnh hưởng đến OpenSSH GSSAPI delta trong các sản phẩm này và liệt kê nhiều artifact cùng errata đã fixed. Trạng thái của các sản phẩm layered hoặc artifact không được liệt kê vẫn cần kiểm tra riêng theo VEX và advisory của Red Hat.

Chi tiết kỹ thuật

Lỗi nằm trong phần triển khai GSSAPI key exchange mà một số bản phân phối Linux duy trì dưới dạng bản vá riêng, không nằm trong OpenSSH upstream. Khi máy chủ nhận một loại thông báo GSSAPI không mong đợi, nhánh xử lý lỗi gọi sshpkt_disconnect(), một hàm chỉ xếp hàng thông báo ngắt kết nối rồi trả về thay vì kết thúc tiến trình như ssh_packet_disconnect(). Luồng xử lý sau đó tiếp tục mà không thiết lập các biến kết nối liên quan, khiến mã nguồn truy cập biến chưa khởi tạo và có thể sử dụng dữ liệu hoặc con trỏ lấy từ bộ nhớ ngẫu nhiên. Phân tích nguồn mô tả biến recv_tok trong mã GSSAPI key exchange có thể được truyền qua IPC tới privileged monitor rồi đưa vào gss_release_buffer(), nên kết quả có thể là hành vi không xác định, crash, rò rỉ thông tin hoặc hỏng heap. Điều kiện tiếp cận được xác nhận là kết nối SSH từ xa trước xác thực; với Ubuntu, cấu hình GSSAPIKeyExchange phải được bật. Mức tác động cụ thể vẫn phụ thuộc đáng kể vào compiler và các tùy chọn hardening của bản build.

Khả năng khai thác

Lỗi có thể bị kích hoạt qua mạng trong quá trình GSSAPI key exchange, trước khi hoàn tất xác thực. Nguồn phân tích cho biết kẻ tấn công không cần tài khoản, thông tin xác thực hoặc tương tác của người dùng, nhưng máy chủ phải sử dụng biến thể GSSAPI key exchange bị lỗi; trên Ubuntu, đây là cấu hình không mặc định khi GSSAPIKeyExchange được bật. Một thông báo GSSAPI được tạo đặc biệt có thể làm daemon tiếp tục sau nhánh lỗi và truy cập dữ liệu chưa khởi tạo. Hậu quả được mô tả gồm crash và từ chối dịch vụ, cùng khả năng rò rỉ thông tin hoặc thực thi mã tùy thuộc vào compiler hardening. Dữ liệu được cung cấp không ghi nhận trạng thái bị khai thác thực tế và không xác định một public exploit.

Tác động kỹ thuật

Lỗi cho phép một kết nối mạng chưa xác thực đưa máy chủ vào nhánh xử lý tiếp tục sau lỗi GSSAPI, nơi các biến chưa khởi tạo có thể bị đọc hoặc truyền sang các hàm xử lý bộ nhớ. Kết quả có thể là undefined behavior, dereference con trỏ không hợp lệ, heap corruption, crash hoặc từ chối dịch vụ. Phân tích kỹ thuật cũng mô tả khả năng dữ liệu bộ nhớ được truyền tới privileged monitor qua IPC, tạo nguy cơ information disclosure. Một advisory Ubuntu nêu khả năng thực thi mã tùy thuộc vào compiler hardening, nhưng bằng chứng hiện có không xác lập một exploit code execution đáng tin cậy cho mọi bản build. Tác động tổ chức thực tế chủ yếu là gián đoạn dịch vụ SSH và nguy cơ lộ dữ liệu bộ nhớ, trong khi mức độ ảnh hưởng phụ thuộc vào bản vá của bản phân phối, compiler và cấu hình hardening.

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

  • Một yêu cầu SSH trước xác thực có thể làm sshd crash hoặc làm gián đoạn khả năng truy cập quản trị từ xa.
  • Các máy chủ dùng GSSAPI key exchange có thể cần được ưu tiên kiểm kê và cập nhật vì bề mặt tấn công có thể tiếp cận qua mạng mà không cần tài khoản.
  • Việc sử dụng dữ liệu chưa khởi tạo có thể dẫn đến rò rỉ một phần dữ liệu bộ nhớ hoặc ảnh hưởng đến tiến trình monitor đặc quyền, nhưng bằng chứng hiện có không chứng minh một vụ lộ dữ liệu cụ thể.
  • Một số advisory nêu khả năng thực thi mã tùy thuộc vào compiler hardening; đây là khả năng được cảnh báo, không phải kết quả khai thác đáng tin cậy đã được xác nhận.
  • Dữ liệu supplied record không xác nhận chiến dịch khai thác, nạn nhân hoặc sự cố thực tế.

Cách khắc phục

  1. Cập nhật Ubuntu 25.10 lên 1:10.0p1-5ubuntu5.1, Ubuntu 24.04 LTS lên 1:9.6p1-3ubuntu13.15, và Ubuntu 22.04 LTS lên 1:8.9p1-3ubuntu0.14.
  2. Với Ubuntu 20.04 LTS, áp dụng 1:8.2p1-4ubuntu0.13+esm1; bản sửa này được Ubuntu ghi nhận là có sẵn qua Ubuntu Pro.
  3. Với Debian, cập nhật trixie-security lên 1:10.0p1-7+deb13u2 hoặc bookworm-security lên 1:9.2p1-2+deb12u9, theo đúng nhánh triển khai.
  4. Với Red Hat Enterprise Linux và OpenShift Container Platform, áp dụng errata hoặc artifact đã fixed do Red Hat cung cấp cho đúng sản phẩm và kênh phát hành. Không suy luận trạng thái an toàn chỉ từ phiên bản upstream, vì Red Hat có thể backport bản sửa.
  5. Nếu chưa thể triển khai bản cập nhật, maintainer của bản phân phối nên thay thế việc dùng sshpkt_disconnect() bằng ssh_packet_disconnect() trong các call site GSSAPI key exchange bị ảnh hưởng và rebuild gói. Đây là workaround được nguồn kỹ thuật khuyến nghị, không phải bằng chứng rằng mọi bản triển khai đều đã được giảm thiểu.
  6. Xác định riêng các máy chủ có GSSAPIKeyExchange được bật và đánh giá thay đổi cấu hình theo hướng dẫn của nhà cung cấp. Evidence hiện có xác nhận điều kiện này đối với phạm vi Ubuntu, nhưng không cung cấp một hướng dẫn tắt cấu hình chung áp dụng cho mọi bản phân phối.

Cách phát hiện

  • Kiểm kê các máy chủ SSH và xác định bản phân phối hoặc sản phẩm cung cấp gói openssh, vì lỗi nằm trong các GSSAPI delta do nhà phân phối tích hợp chứ không phải OpenSSH upstream.
  • Kiểm tra cấu hình daemon để xác định GSSAPIKeyExchange có được bật hay không. Đây là điều kiện liên quan trực tiếp đến phạm vi Ubuntu được mô tả trong advisory.
  • Đối chiếu phiên bản gói đang cài đặt với các mốc sửa lỗi theo từng nhánh trong affected_summary, không chỉ dựa vào số phiên bản upstream của OpenSSH.
  • Với hệ thống Red Hat hoặc image OpenShift, đối chiếu trạng thái sản phẩm và errata của Red Hat thay vì suy luận từ phiên bản upstream, vì Red Hat có thể backport bản sửa lỗi.
  • Rà soát một cách thận trọng telemetry về crash, restart hoặc SIGSEGV và SIGABRT của sshd gần các phiên GSSAPI pre-auth. Đây là biện pháp giám sát phòng ngừa, không phải IOC đã được xác nhận; việc không có log như vậy không chứng minh hệ thống an toàn.
Nguồn (58)
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