Уязвимост Π² ΡƒΠ΅Π± Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° Django, която ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ замСстванС Π½Π° SQL

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ са ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΈ издания Π½Π° Django web framework 4.0.6 ΠΈ 3.2.14, ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚ уязвимост (CVE-2022-34265), която ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Π²ΠΈ позволява Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ своя SQL ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ засяга прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ външни Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ kind ΠΈ lookup_name, ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Trunc(kind) ΠΈ Extract(lookup_name). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ позволяват само ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² стойноститС lookup_name ΠΈ kind Π½Π΅ са засСгнати ΠΎΡ‚ уязвимостта.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ бСшС Π±Π»ΠΎΠΊΠΈΡ€Π°Π½ Ρ‡Ρ€Π΅Π· Π·Π°Π±Ρ€Π°Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π·Π½Π°Ρ†ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Π±ΡƒΠΊΠ²ΠΈ, Ρ†ΠΈΡ„Ρ€ΠΈ, β€ž-β€œ, β€ž_β€œ, β€ž(β€œ ΠΈ β€ž)β€œ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Extract ΠΈ Trunc. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠ°Π²ΠΈΡ‡ΠΊΠΈ Π½Π΅ бяха изрязани Π² ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈΡ‚Π΅ стойности, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²Π΅ΡˆΠ΅ възмоТно ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ SQL конструкции Ρ‡Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° стойности ΠΊΠ°Ρ‚ΠΎ β€žΠ΄Π΅Π½β€œ ОВ Π½Π°Ρ‡Π°Π»Π½Π°_Π΄Π°Ρ‚Π°)) Π˜Π›Π˜ 1=1;β€”β€œ ΠΈ β€žΠ³ΠΎΠ΄ΠΈΠ½Π°β€œ, Π½Π°Ρ‡Π°Π»Π½Π°_Π΄Π°Ρ‚Π° ΠΈ час) ) Π˜Π›Π˜ 1=1;β€”β€œ. Π’ слСдващата вСрсия 4.1 сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° сС засили Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Ρ‚Π° ΠΈ ΡΡŠΠΊΡ€Π°Ρ‰Π°Π²Π°Π½Π΅, Π½ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π² API, Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° с Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€