Π ΠΎΡΠΈΡΠ½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ Apache OpenOffice Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2021-33035), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DBF. ΠΡΡΠ²ΠΈΠ²ΡΠΈΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΠ» ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ° Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΠΌΠ΅ ΠΏΠ°ΡΡΠ° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΡΡΠ» Π² ΡΠΎΡΡΠ°Π² ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠ±ΠΎΡΠΎΠΊ OpenOffice 4.1.11. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ OpenOffice ΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ fieldLength ΠΈ fieldType Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² DBF, Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² ΠΏΠΎΠ»ΡΡ . ΠΠ»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ fieldType ΡΠΈΠΏ INTEGER, Π½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ fieldLength Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ c ΡΠΈΠΏΠΎΠΌ INTEGER, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π²ΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΏΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΈΡΠΌΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ROP — Return-Oriented Programming) Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ROP Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π° ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ Π² Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΊΡΡΠΊΠ°ΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΡ ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ). Π Π°Π±ΠΎΡΠ° ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² («Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ²») Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ² Π² ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ΅ Π΄Π»Ρ OpenOffice ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π² OpenOffice Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libxml2, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ OpenOffice ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΡΠΎΠ±ΡΠ°Π½Π° Π±Π΅Π· ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ DEP (Data Execution Prevention) ΠΈ ASLR (Address Space Layout Randomization).
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ OpenOffice Π±ΡΠ»ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Ρ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ 4 ΠΌΠ°Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π° 30 Π°Π²Π³ΡΡΡΠ° Π±ΡΠ»ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌΡ ΡΡΠΎΠΊΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΡΡ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π½Π° 18 ΡΠ΅Π½ΡΡΠ±ΡΡ, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ OpenOffice Π½Π΅ ΡΡΠΏΠ΅Π»ΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠ· 4.1.11 ΠΈ ΠΊ ΡΡΠΎΠΌΡ ΡΡΠΎΠΊΡ. ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Π² Ρ
ΠΎΠ΄Π΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° ΠΏΠΎΡ
ΠΎΠΆΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° DBF Π² Microsoft Office Access (CVE-2021–38646), Π΄Π΅ΡΠ°Π»ΠΈ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΊΡΡΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅. Π LibreOffice ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru