CVE-2012-2122: Lỗi bảo mật Bypass trong MySQL

Đọc thêm https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-2122
Một lỗi bảo mật nghiêm trọng trong MariaDB và MySQL đã được công bố. Theo đó tất các các phiên bản của MariaDB và MySQL từ 5.1.61, 5.2.11, 5.3.5, 5.5.22 đều bị lỗi này.Nó đã được hệ thống phát triển của MySQL đưa vào với id lỗi là CVE-2012-2122.
Khi một user kết nối vào database server thì một token (SHA và chuỗi ngẫu nhiên) được sinh ra. Chuỗi token này được kiểm tra không chặt chẽ nên trả về kết quả đúng dù memcmp() trả lại một giá trị khác không. Trong trường hợp đó, MariaDB và MySQL database server sẽ cho rằng mật khẩu user là đúng và cho phép kết nối thành công, mặc dù mật khẩu không đúng. Tỷ lệ phát sinh lỗi này là 1/256.
mysql logo CVE 2012 2122: Lỗi bảo mật Bypass trong MySQL hacker virus security domain hosting server
“Có nghĩa là, nếu ai biết tên một user trong database servver (root luôn tồn tại), họ có thể kết nối bằng cách sử dụng bất kỳ mật khẩu nào đó bằng cách lặp lại việc kết nối đến khi giá trị nhận về là đúng.”
Theo đó, dưới đây là một ví dụ để kết nối vào database server với tài khoản root mà không cần biết mật khẩu :
$ for i in `seq 1 1000`; do mysql -u root --password=bad -h 127.0.0.1 2>/dev/null; done
mysql>

Đề phòng:
Quy tắc đầu tiên trong bảo mật MySQL là không cho database server tiếp xúc rộng rãi với internet (allow remote connect). Hầu hết các phiên bản MySQl chặn việc truy cập từ xa này. Tuy nhiên cũng cần kiểm tra lại việc cho phép kết nối này.
Cách đơn giản để giải quyết vấn đề là chỉnh sửa bind-address trong my.cnf (Thường ở đường dẫn /etc/my.cnf) là 127.0.0.1 và sau đó khởi động lại MySQL để thiết lập có hiệu lực.

Chú Ý:

Coppy phải ghi rõ nguồn Blog - Hacking
 

Copyright © 123 H4ck' Blog. Cung cấp bởi Blogger