Phát hiện lỗ hổng SQLi nghiêm trọng trong công cụ Sequelize

Tommy_Nguyen

Moderator
Thành viên BQT
06/04/2022
24
41 bài viết
Phát hiện lỗ hổng SQLi nghiêm trọng trong công cụ Sequelize
Các lỗ hổng nghiêm trọng trong công cụ Sequelize có thể cho phép kẻ tấn công từ xa thực hiện các truy vấn SQL tùy ý trên cơ sở dữ liệu.


1677137879959.png


Với hơn 18.600 lượt tải xuống hằng tháng, Sequelize là một công cụ ánh xạ cơ sở dữ liệu đến các đối tượng thuộc ngôn ngữ lập trình hướng đối tượng các thành phần database (ORM) dành cho Node.js có khả năng tương thích với rất nhiều loại cơ sở dữ liệu khác nhau như Postgres, MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, Snowflake, Oracle DB và Db2 cho IBM. Công cụ này có các tính năng đa dạng như hỗ trợ thực hiện lệnh tuần tự, thiết lập quan hệ giữa các bảng, Eager Loading và Lazy Loading, duy trì bản sao dữ liệu và nhiều tính năng khác nữa.

Các nhà nghiên cứu đã phát hiện ra CVE-2023-22578 và CVE-2023-25813, hai lỗi nghiêm trọng trong Sequelize được đánh giá điểm CVSS là 10 và sẽ khiến tất cả người dùng Sequelize phải cảnh giác do khả năng lan rộng tiềm tàng của chúng.

Nguyên nhân sâu xa của lỗ hổng CVE-2023-22578 nằm ở chức năng lọc thuộc tính không phù hợp trong thư viện serialize của js, kẻ tấn công có thể thực hiện thao tác tiêm nhiễm truy vấn SQL độc hại vào trong chính thư viện này. Lỗ hổng này có thể được giảm thiểu bằng cách không chấp nhận những đầu vào không đáng tin cậy.

Các nhà phát triển Sequelize đã giải quyết CVE này bằng việc phát hành phiên bản 7.0.0-alpha.20 vào ngày 22 tháng 12 năm 2022, nhưng cho đến nay chi tiết kỹ thuật về lỗi vẫn chưa được cung cấp.

Nguyên nhân cốt lõi của lỗ hổng CVE-2023-25813 nằm ở trong cấu trúc lệnh Replacements. Nó cho phép kẻ tấn công có thể truyền các giá trị nguy hiểm như “OR true;” hay “DROP TABLE” thông qua các cấu trúc lệnh Replacements và từ đó sẽ dẫn đến việc thực thi SQL tùy ý. Lỗi này ảnh hưởng đến phiên bản Sequelize trước 6.19.1 và đã được khắc phục khi phát hành phiên bản Sequelize 6.19.2 vào ngày 18 tháng 5 năm 2022. Để giảm thiểu rủi ro, nếu bạn không sử dụng phiên bản Sequelize từ 6.19.2 trở xuống, thì bạn không nên sử dụng các tùy chọn Replacements và tùy chọn Where trong cùng một truy vấn.

Một lỗ hổng nghiêm trọng khác được theo dõi là CVE-2023-22579 (điểm CVSS là 9,9), cho phép kẻ tấn công có khả năng truy cập vào tài nguyên bằng cách sử dụng các kiểu đối tượng không tương thích do quá trình kiểm tra đầu vào của người dùng không đúng cách, bắt nguồn từ sự cố không an toàn trong các điều kiện GET WHERE. Nó đã được giải quyết trong các phiên bản 7.0.0-alpha.20 và 6.28.1 phát hành vào thứ tư.

Do tính chất nghiêm trọng của các lỗ hổng, người dùng nên cập nhật lên phiên bản mới nhất càng sớm càng tốt để giảm thiểu các mối đe dọa có thể xảy ra.

Nguồn: Security Online
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve orm sequelize sqli
Bên trên