Với tính chất di động, đa nền tảng, SQLite là công cụ cơ sở dữ liệu được sử dụng rộng rãi nhất ngày này. Nó được xây dựng bằng C và có thể được chuyển đổi thành một thư viện hiển thị các API để lập trình viên sử dụng hoặc là một ứng dụng độc lập sử dụng.

Lỗ hổng API thư viện SQLite, CVE-2022-35737, được công bố bởi các chuyên gia của Trail of Bits. Bản phát hành 3.39.2 được tung ra thị trường vào ngày 17/10/2000 của SQLite chứa địa chỉ CVE-2022-35737 (phát hành vào ngày 21 tháng 7 năm 2022).

Trên hệ thống 64-bit, CVE-2022-35737 có thể khai thác được và khả năng khai thác phụ thuộc vào cách phần mềm được biên dịch. Khi thư viện được biên dịch mà không có mã lệnh ngăn xếp, có thể thực thi mã tùy ý. Từ chối dịch vụ được xác nhận trong mọi trường hợp.

Khi đầu vào chuỗi lớn được cung cấp cho các triển khai SQLite của các phương thức printf và khi chuỗi định dạng chứa các kiểu thay thế định dạng% Q,% q hoặc% w, CVE-2022-35737 có thể được khai thác trên các hệ thống nhạy cảm. Điều này đủ để gây ra lỗi chương trình. Nhóm cũng giải thích, trong trường hợp xấu nhất, việc thực thi mã tùy ý hoặc chương trình bị treo và lặp đều có thể hình dung được nếu chuỗi định dạng có chứa ký tự đặc biệt để cho phép quét ký tự Unicode.

Lỗ hổng không thể được khai thác trong ứng dụng SQLite vì nó có giới hạn bộ nhớ trong 1 GB. Ý tưởng rằng SQLite không xử lý các chuỗi lớn, một điều cần thiết để khai thác lỗ hổng. Các ứng dụng có thể liên kết trực tiếp với các quy trình dễ bị tấn công vì API C do SQLite cung cấp không yêu cầu đầu vào tuân theo giới hạn bộ nhớ. Các nhà phát triển ứng dụng không thể thực thi các hạn chế về kích thước đầu vào đối với các method này vì SQLite không giao tiếp với API rằng các chuỗi lớn. Việc phân bổ chuỗi 1GB làm đầu vào là không thể khi mã này ban đầu được xây dựng vì phần lớn các CPU chỉ có thanh ghi 32-bit và 4GB bộ nhớ có thể truy cập. Việc phân bổ các chuỗi lớn như vậy là hoàn toàn có thể và các trường hợp nhạy cảm có thể đạt được hiện nay khi máy tính 64-bit đang được sử dụng rộng rãi.

Vào ngày 14 tháng 7 năm 2022, Trung tâm Điều phối Nhóm Ứng cứu Khẩn cấp Máy tính (CERT) đã được thông báo về lỗ hổng.

Vào ngày 15 tháng 7 năm 2022, CERT / CC đã thông báo cho những người bảo trì SQLite về một lỗ hổng.

Lỗ hổng bảo mật được xác nhận vào ngày 18 tháng 7 năm 2022 và mã nguồn đã được cập nhật.

Vào ngày 21 tháng 7 năm 2022, các nhà phát triển SQLite đã phát hành bản vá trong phiên bản 3.39.2.

Để hạn chế các rủi ro, người dung nên cập nhật bản vá.

 https://www.securitynewspaper.com/