DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
CVE-2016-6663/CVE-2016-5616: Lỗ hổng leo thang đặc quyền trong các hệ thống quản trị cơ sở dữ liệu M
Gần đây, một nhà nghiên cứu bảo mật đã phát hiện ra lỗi leo thang đặc quyền trong các hệ thống quản trị cơ sở dữ liệu MySQL / MariaDB / PerconaDB. Lỗ hổng nào cho phép một local system user (low-user) với quyền truy cập tới cơ sở dữ liệu với đặc quyền thấp hơn (CREATE/INSERT/SELECT grants) có thể leo thang đặc quyền và thực hiện bất kỳ một câu lệnh nào như là người quản trị hệ thống cơ sở dữ liệu.
Khai thác thành công lỗ hổng này, hacker có thể truy cập tới tất cả các cơ sở dữ liệu được lưu trên các cơ sở dữ liệu bị khai thác.
Lỗ hổng này xuất phát từ việc cơ sở dữ liệu dự trên MySQL cho phép người dùng tạo (CREATE) table privilege ở đường dẫn nào đó nơi mà cơ sở dữ liệu được lưu trữ thông qua một tham số DATA DIRECTORY trong truy vấn CREATE.
Người dùng có quyền truy cập tới database account mà được cho phép thực hiện truy vấn CREATE có thể tạo ra một table trong một đường dẫn mà họ có thể kiểm soát. Ví dụ:
attacker@debian:~[imath]mkdir /tmp/disktable attacker@debian:~[/imath] chmod 777 /tmp/disktable/ attacker@debian:~$ ls -ld /tmp/disktable/ drwxrwxrwx 2 attacker attacker 4096 Oct 28 10:53 /tmp/disktable/
Người dùng có thể đặt một table trong một đường dẫn với truy vấn SQL dưới đây:
mysql> CREATE TABLE poctab1 (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/disktable';
Kết quả sẽ tạo ra một table file dưới đây:
attacker@debian:~$ ls -l /tmp/disktable/ total 0 -rw-rw---- 1 mysql mysql 0 Oct 28 10:53 poctab1.MYD Các phiên bản của hệ thống quản trị cơ sở dữ liệu bị ảnh hưởng bởi lỗ hổng này:
Cách khắc phục lỗ hổng:
Khai thác thành công lỗ hổng này, hacker có thể truy cập tới tất cả các cơ sở dữ liệu được lưu trên các cơ sở dữ liệu bị khai thác.
Lỗ hổng này xuất phát từ việc cơ sở dữ liệu dự trên MySQL cho phép người dùng tạo (CREATE) table privilege ở đường dẫn nào đó nơi mà cơ sở dữ liệu được lưu trữ thông qua một tham số DATA DIRECTORY trong truy vấn CREATE.
Người dùng có quyền truy cập tới database account mà được cho phép thực hiện truy vấn CREATE có thể tạo ra một table trong một đường dẫn mà họ có thể kiểm soát. Ví dụ:
attacker@debian:~[imath]mkdir /tmp/disktable attacker@debian:~[/imath] chmod 777 /tmp/disktable/ attacker@debian:~$ ls -ld /tmp/disktable/ drwxrwxrwx 2 attacker attacker 4096 Oct 28 10:53 /tmp/disktable/
Người dùng có thể đặt một table trong một đường dẫn với truy vấn SQL dưới đây:
mysql> CREATE TABLE poctab1 (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/disktable';
Kết quả sẽ tạo ra một table file dưới đây:
attacker@debian:~$ ls -l /tmp/disktable/ total 0 -rw-rw---- 1 mysql mysql 0 Oct 28 10:53 poctab1.MYD Các phiên bản của hệ thống quản trị cơ sở dữ liệu bị ảnh hưởng bởi lỗ hổng này:
Cách khắc phục lỗ hổng:
- Cập nhật phiên bản SQL mới nhất
- Vô hiệu hóa symbolic link support trong file cấu hình cơ sở dữ liệu my.cnf
symbolic-links = 0
Chỉnh sửa lần cuối bởi người điều hành: