Một lỗi bảo mật nghiêm trọng ảnh hưởng đến các ứng dụng API của thư viện SQLite vừa được cung cấp bản vá sau khi đã tồn tại gần 22 năm.
Theo Trail of Bits, lỗi có số định danh CVE-2022-35737, ảnh hưởng đến các ứng dụng sử dụng API thư viện SQLite từ phiên bản 1.0.12 (phát hành ngày 17.10.2000) và chỉ mới được vá ở bản 3.39.2 (phát hành vào ngày 21.7.2022).
Nhà nghiên cứu Andreas Kellas của Trail of Bits cho biết lỗi CVE-2022-35737 có thể khai thác trên các hệ thống 64 bit và khả năng khai thác phụ thuộc vào cách chương trình được biên dịch.
Được viết bằng ngôn ngữ C, SQLite là công cụ cơ sở dữ liệu được sử dụng rộng rãi nhất, từ các hệ điều hành Android, iOS, Windows và macOS, các trình duyệt web phổ biến như Google Chrome, Mozilla Firefox và Apple Safari.
Lỗi tồn tại 22 năm trên SQLite đã được khắc phục trong năm nay. |
Lỗ hổng được Trail of Bits phát hiện là lỗi tràn số nguyên, xảy ra khi các chuỗi đầu vào cực lớn được chuyển dưới dạng tham số cho việc triển khai SQLite. Nếu chuỗi định dạng chứa ký tự đặc biệt như dấu chấm than nhằm kích hoạt tính năng quét ký tự unicode, trường hợp xấu nhất sẽ giúp kẻ tấn công có thể thực hiện chạy mã tùy ý, còn không sẽ khiến chương trình bị treo và thực hiện vòng lặp gần như vô hạn.
Lỗ hổng này là một ví dụ về kịch bản từng được coi là không thực tế trong 2 thập kỷ trước, đó là nhập chuỗi dữ liệu đầu vào lên đến 1 GB. Tuy vậy hiện nó đã khả thi với sự ra đời của hệ thống máy tính 64 bit. Theo nhà nghiên cứu bảo mật Kellas, đây không phải là lỗi vào thời điểm SQLite được viết ra (năm 2000), lúc này các hệ thống chủ yếu là kiến trúc 32 bit.
Thông tin bạn đọc
Đóng Lưu thông tin