Django та Oracle: SQL-ін’єкція при прямому використанні HasKey

1 хв читання

Ця вразливість вимагає уваги розробників, які використовують Django з базою даних Oracle. Некоректна обробка вхідних даних при прямому виклику HasKey може призвести до SQL-ін’єкції, що ставить під загрозу цілісність даних у системі.

4 грудня 2024 року було оприлюднено CVE-2024-53908. Проблема полягає в тому, що пряме використання HasKey у Django на платформі Oracle з недовіреним параметром lhs (left-hand side) дозволяє зловмиснику маніпулювати SQL-запитом. Важливо зазначити, що стандартний синтаксис jsonfield.has_key, який реалізується через подвійне підкреслення (__), не підпадає під цю вразливість, оскільки механізм обробки запитів у цьому випадку є безпечним.

Рекомендації:

  • Перевірте кодову базу на наявність прямих викликів HasKey, де аргументи передаються безпосередньо від користувача.
  • Замініть прямі виклики на стандартний синтаксис __has_key, де це можливо.
  • Оновіть Django до версії, що містить виправлення безпеки, згідно з офіційними рекомендаціями розробників фреймворку.

Використані джерела

  1. djangoproject.com (djangoproject.com)