CVE-2016-10556
Təsvir
sequelize Obyekt-relyasiyalı xəritələmə (ORM) və ya Postgres, MySQL, MariaDB, SQLite və Microsoft SQL Server məlumatlarını NodeJS üçün istifadə edilə bilən verilənlərə çevirən bir vasitəçidir. Postgres, SQLite və Microsoft SQL Server-də massivlərin sətirlər kimi qəbul edildiyi və yanlış şəkildə escape edildiyi bir problem mövcuddur. Bu, sequelize 3.19.3 və daha əvvəlki versiyalarda potensial SQL inyeksiyasına səbəb olur; burada bədniyyətli istifadəçi `database.query('SELECT * FROM TestTable WHERE Name IN (:names)', { replacements: { names: directCopyOfUserInput } });` daxilinə `["test", "'); DELETE TestTable WHERE Id = 1 --')"]` yerləşdirərək SQL ifadəsinin `SELECT Id FROM Table WHERE Name IN ('test', '\'); DELETE TestTable WHERE Id = 1 --')` şəklində olmasına səbəb ola bilər. Postgres, MSSQL və SQLite-da geri slash (\) simvolunun xüsusi mənası yoxdur. Bu isə ifadənin TestTable cədvəlində Id dəyəri 1 olan hər hansı bir qeydi silməsinə səbəb olur.
Necə düzəltmək olar
- sequelize3.20.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| sequelizejs sequelize | v ≤ 3.19.3 | — |
| sequelizenpm | v < 3.20.0 | 3.20.0 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.