ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Tencent ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Magellan (CVE-2019-13734), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π² Π‘Π£ΠΠ SQLite ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΡ
SQL-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠΎΡ
ΠΎΠΆΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π°ΡΠ°ΠΊΠΎΠ²Π°ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ Chrome ΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ
Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ web-ΡΡΡΠ°Π½ΠΈΡ.
ΠΡΠ°ΠΊΠ° Π½Π° Chrome/Chromium ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· API WebSQL, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠ΄Π΅ SQLite. ΠΡΠ°ΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² SQLite SQL-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ
ΠΈΠ·Π²Π½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ SQLite Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. Firefox ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Mozilla ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ WebSQL Π² ΠΏΠΎΠ»ΡΠ·Ρ API IndexedDB.
Google ΡΡΡΡΠ°Π½ΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ Chrome 79. Π ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ SQLite ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° 17 Π½ΠΎΡΠ±ΡΡ, Π° Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Chromium — 21 Π½ΠΎΡΠ±ΡΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΊΠΎΠ΄Π΅ Π΄Π²ΠΈΠΆΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° FTS3 ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ Ρ ΡΠ΅Π½Π΅Π²ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ (shadow tables, ΠΎΡΠΎΠ±ΡΠΉ Π²ΠΈΠ΄ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ°Π±Π»ΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ) ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°. ΠΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Ρ
Π½ΠΈΠΊΠ΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΠ΅ΡΠ΅Π· 90 Π΄Π½Π΅ΠΉ.
ΠΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ· SQLite Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ (ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ 31 Π΄Π΅ΠΊΠ°Π±ΡΡ). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π·Π°ΡΠΈΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ SQLite 3.26.0 ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΆΠΈΠΌ SQLITE_DBCONFIG_DEFENSIVE, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ΅Π½Π΅Π²ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ
SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² SQLite. Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ SQLite ΠΏΠΎΠΊΠ° ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Debian, Ubuntu, RHEL, openSUSE/SUSE, Arch Linux, Fedora, FreeBSD. Chromium Π²ΠΎ Π²ΡΠ΅Ρ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
ΡΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄Π²ΠΈΠΆΠΎΠΊ Chromium, Π° ΡΠ°ΠΊΠΆΠ΅ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Webview.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² SQLite ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ²Π»Π΅Π½Ρ 4 ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (CVE-2019-13750, CVE-2019-13751, CVE-2019-13752, CVE-2019-13753), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠ΅ΡΠΊΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Ρ
ΠΎΠ΄Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ (ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ Π½Π° Chrome). Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅ SQLite 13 Π΄Π΅ΠΊΠ°Π±ΡΡ. Π ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Chromium, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π·Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru