Trong tiện ích
Tùy chọn “pwfeedback” cho phép hiển thị ký tự “*” sau mỗi ký tự được nhập khi nhập mật khẩu. Bởi vì
Bản chất của vấn đề là khi sử dụng ký tự đặc biệt ^U (xóa dòng) trong khi nhập và nếu thao tác ghi không thành công, mã chịu trách nhiệm xóa các ký tự “*” đầu ra sẽ đặt lại dữ liệu trên kích thước bộ đệm có sẵn, nhưng không đưa con trỏ về vị trí hiện tại có giá trị ban đầu trong bộ đệm. Một yếu tố khác góp phần vào việc khai thác là thiếu tính năng tự động tắt chế độ “pwfeedback” khi dữ liệu đến không phải từ thiết bị đầu cuối mà thông qua luồng đầu vào (lỗ hổng này cho phép tạo điều kiện xảy ra lỗi ghi, chẳng hạn như trên các hệ thống có một chiều
Vì kẻ tấn công có toàn quyền kiểm soát việc ghi đè dữ liệu trên ngăn xếp nên không khó để tạo ra một cách khai thác cho phép kẻ tấn công leo thang đặc quyền của mình để root. Bất kỳ người dùng nào cũng có thể khai thác vấn đề này, bất kể quyền sudo hay cài đặt dành riêng cho người dùng trong sudoers. Để ngăn chặn sự cố, bạn nên đảm bảo rằng không có cài đặt “pwfeedback” trong /etc/sudoers và nếu cần, hãy tắt nó (“Mặc định !pwfeedback”). Để kiểm tra xem có vấn đề gì không, bạn có thể chạy mã:
$ Perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Mật khẩu: Lỗi phân đoạn
Nguồn: opennet.ru