Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ADOdb, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ подстановку SQL-запросов

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ADOdb, примСняСмой Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… PHP-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… для абстрагирования доступа ΠΊ Π‘Π£Π‘Π” ΠΈ Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΎΠΊΠΎΠ»ΠΎ 3 ΠΌΠ»Π½ установок ΠΈΠ· рСпозитория Packagist, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2025-46337), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ подстановку своСго SQL-запроса. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ присвоСн критичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ опасности (10 ΠΈΠ· 10). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ устранСна Π² выпускС ADOdb 5.22.9.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся ΠΏΡ€ΠΈ использовании ADOdb вмСстС с Π‘Π£Π‘Π” PostgreSQL Π² прилоТСниях, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ pg_insert_id() ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ΡŽΡ‰ΠΈΡ… Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ внСшниС Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ $fieldname. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° ошибкой Π² ADOdb-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ΠΊ PostgreSQL, связанной с отсутствиСм Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ экранирования спСцсимволов Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… $tablename ΠΈ $fieldname, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ pg_insert_id() для формирования ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. $result=pg_query($this->_connectionID, β€˜SELECT last_value FROM β€˜. $tablename .’_’. $fieldname .’_seq’);

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ