Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Một lỗ hổng trong lệnh Linux sudo đã được phát hiện, có thể cho phép người dùng không có đặc quyền thực thi các lệnh dưới dạng root. Rất may, lỗ hổng này chỉ hoạt động trong những cấu hình không chuẩn và hầu hết các máy chủ Linux không bị ảnh hưởng.
Trước khi tìm hiểu về lỗ hổng, điều quan trọng là phải có một số thông tin cơ bản về cách hoạt động của lệnh sudo và cách nó được cấu hình.
Khi thực thi các lệnh trên hệ điều hành Linux, người dùng không có đặc quyền có thể sử dụng lệnh sudo (super user do) để thực thi lệnh dưới dạng root, miễn là họ đã được cấp phép hoặc biết mật khẩu của người dùng root.
Lệnh sudo cũng có thể được cấu hình để cho phép người dùng chạy các lệnh như một người dùng khác, bằng cách thêm những lệnh đặc biệt vào file cấu hình /etc/sudoers.
Ví dụ, các lệnh dưới đây cho phép người dùng “test” chạy các lệnh /usr/bin/vim và /usr/bin/id như bất kỳ người dùng nào ngoài root.
test ALL = (ALL, !root) /usr/bin/vim
test ALL = (ALL, !root) /usr/bin/id
Để user “test” thực thi một trong các lệnh trên, họ sẽ sử dụng lệnh sudo với tham số -uđể chỉ định người dùng chạy lệnh. Ví dụ, lệnh sau sẽ khởi chạy VIM với tư cách là người dùng “bleeping-test”.
sudo -u bleeping-test vim
Khi tạo người dùng trong Linux, mỗi user được cung cấp một UID. Như được thấy dưới đây, người dùng “test” có UID là 1001 và “bleeping-test” có UID là 1002.
![]()
Người dùng có thể sử dụng các UID này thay vì tên user khi khởi chạy lệnh sudo. Ví dụ, lệnh bên dưới sẽ một lần nữa khởi chạy VIM dưới tư cách người dùng “bleeping-test”nhưng lần này bằng cách cung cấp UID của người dùng đó.
sudo -u#1002 vim
Nhà nghiên cứu bảo mật của Apple, Joe Vennix, đã phát hiện ra một lỗi cho phép người dùng khởi chạy lệnh sudo dưới quyền root bằng cách sử dụng UID -1 hoặc 4294967295trong lệnh sudo.
Ví dụ, lệnh sau có thể sử dụng lỗi này để khởi chạy user /usr/bin/id dưới quyền root, mặc dù người dùng “test” đã bị từ chối thực hiện việc này trong file /etc/sudoers.
sudo -u#-1 id
Sử dụng lỗi này với lệnh /usr/bin/id để có quyền root được minh họa bên dưới.

Mặc dù lỗi này rất nghiêm trọng, nhưng điều quan trọng cần nhớ là nó chỉ có thể hoạt động nếu người dùng được cấp quyền truy cập vào lệnh thông qua file cấu hình sudoers. Nếu không (và hầu hết các bản phân phối Linux không làm như vậy theo mặc định), thì lỗi này sẽ không gây ra ảnh hưởng gì.
Để thực sự khai thác lỗ hổng này, người dùng cần phải có directive (chỉ thị) sudoer, được cấu hình cho một lệnh có thể khởi chạy các lệnh khác.
Trong ví dụ directive sudoers ở trên, ta có một lệnh như vậy: Lệnh VIM!
test ALL = (ALL, !root) /usr/bin/vim
Khi ở trong VIM, người dùng có thể khởi chạy một chương trình khác bằng cách sử dụng lệnh :!. Ví dụ, nếu trong VIM, bạn có thể nhập !ls để thực thi lệnh ls trong thư mục hiện tại.
Nếu sử dụng lệnh sudo -u#-1 vim để khai thác lỗ hổng này, VIM sẽ được khởi chạy dưới dạng root. Sau đó, bạn có thể xác nhận điều này bằng cách thực thi lệnh !whoami.

Bây giờ, VIM được khởi chạy dưới dạng root, bất kỳ lệnh nào được thực thi từ nó cũng được chạy dưới quyền root.
Điều này có thể dễ dàng được sử dụng để khởi chạy một shell root mà sau đó, có thể thực thi bất kỳ lệnh nào bạn muốn trên hệ thống bị xâm nhập. Cuộc tấn công này được minh họa trong hình dưới đây.

Mặc dù lỗi này rõ ràng là rất nghiêm trọng, nhưng nó chỉ có thể được sử dụng trong các cấu hình không chuẩn sẽ không ảnh hưởng đến đại đa số người dùng Linux.
Đối với những người sử dụng directive sudoers cho user, bạn nên nâng cấp lên sudo 1.8.28 trở lên càng sớm càng tốt.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Xây dựng một workflow AI thực tế từ đầu đến cuối
Cách xuất nội dung ChatGPT sang Google Docs không mất định dạng
Đánh giá và cải thiện thói quen sử dụng AI
Perplexity AI là gì?
Cách kết nối Google Drive với ChatGPT
Meitu VIP vs Meitu SVIP: Nên lựa chọn gói chỉnh ảnh nào?
Tại sao Claude for Teachers lại tạo nên sự khác biệt?
Hướng dẫn dùng Higgsfield tạo video trên ChatGPT
Cách dùng NotebookLM trong Google Docs
Hướng dẫn dùng Dola AI tạo bảng dữ liệu từ câu lệnh
Chỉnh sửa kế hoạch giảng dạy do Claude for Teachers tạo dưới góc độ một biên tập viên
TOP công cụ AI tạo biểu mẫu và khảo sát
Chỉnh sửa nội dung giáo án do Claude for Teachers tạo
Tìm hiểu về các tính năng Home, Code và Autopilot mới trong Copilot
Hướng dẫn đăng ký tài khoản quảng cáo ChatGPT
Microsoft Frontier: Chương trình cho phép bạn trải nghiệm sớm các tính năng AI trước khi chúng được phát hành rộng rãi
OpenClaw là gì?
Hướng dẫn dùng Lovable AI trên ChatGPT tạo website cực nhanh
Học kỹ năng Mô tả: Hoàn thành prompt AI đầu tiên có thể sử dụng được
Tự tạo ứng dụng quản lý công việc trên Gemini rất đơn giản
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Cách sửa lỗi There Are Currently No Power Options Available Windows