Jann Horn ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Π½Π° Google Project Zero, ΠΊΠΎΠΉΡΠΎ Π²Π΅Π΄Π½ΡΠΆ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Spectre ΠΈ Meltdown, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2021-4083) Π² ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π½Π° unix ΡΠΎΠΊΠ΅ΡΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΡΠ²ΠΎΡ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, ΠΏΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅, ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ°Π»ΡΠΊ, Π·Π° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ, Π½ΠΎ Π°Π²ΡΠΎΡΡΡ Π½Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ Π΄ΠΎΡΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠΊΠ΅ΠΏΡΠΈΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°Π½Π°Ρ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΡΠ΅Π°Π»Π½ΠΈ Π°ΡΠ°ΠΊΠΈ, Π°ΠΊΠΎ ΡΡΠ·Π΄Π°ΡΠ΅Π»ΡΡ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠ° ΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅. Π―Π½ Π₯ΠΎΡΠ½ ΠΏΠΎΠΊΠ°Π·Π° ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΈΠ»ΠΈΠ³ΡΠ°Π½Π½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΏΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ close() ΠΈ fget() Π² Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ ΠΈ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠ° Π²ΡΡΡΠ΅ Π² ΡΠ΄ΡΠΎΡΠΎ.
Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ close() ΠΈ fget() Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° close() ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈ fget() Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΠ±ΡΡΠΊΠ° ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ refcount ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½ΡΠΌΠ° Π΄Π° ΠΈΠΌΠ° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ, Π½ΠΎ ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ΅Π½Π° ΠΊΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Ρ.Π΅. Π‘ΡΠ±ΠΈΡΠ°ΡΡΡ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ ΡΠ΅ ΠΌΠΈΡΠ»ΠΈ, ΡΠ΅ ΠΈΠΌΠ° Π΅ΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π·Π° ΠΊΡΠ°ΡΡΠΊ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΡΠ°Π²Π°ΡΠΈΡΡ Π·Π°ΠΏΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΡΠΎΡΠΈ ΠΊΡΠΌ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°.
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° ΠΎΡ Π½Π°Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅, Π±ΡΡ Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΈΠΊΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠΏΠ΅Ρ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π΄ΠΎ 30% ΠΏΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΊΡΡΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ Π½Π°Π½ΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π΄Π°Π½Π½ΠΈΡΠ΅ Π±ΡΡ Π° ΠΈΠ·Π³ΠΎΠ½Π΅Π½ΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΡΡΠ΅Π· Π·Π°ΡΡΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ° Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° Π΄ΡΡΠ³ΠΎ ΡΠ΄ΡΠΎ ββΠ½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π° Π½Π΅ ΠΎΡ Π±ΡΡΠ·ΠΈΡΡ ΠΊΠ΅Ρ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
ΠΡΠΎΡΠ°ΡΠ° Π²Π°ΠΆΠ½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅. ΠΠΎΠΌΠ΅Π½ΡΡΡ Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ ΡΠ°ΠΊΠ°, ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΡΡ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡΡΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΡΡΠ½Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°, ΠΎΠΊΠΎΠ»ΠΎ 50 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΠΏΠΈΡΠ° Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π±ΡΡ Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° epoll, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΡΡΡΡΠ΅Π½Π΅ ΠΏΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ.
Π’Π΅Ρ
Π½ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π±Π΅ΡΠ΅ ΡΠ°Π·ΠΊΡΠΈΡΠ° ΡΠ»Π΅Π΄ 90-Π΄Π½Π΅Π²Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° Π½Π΅ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ 2.6.32 ΠΈ Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ. ΠΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠ΄ΡΠΎΡΠΎ 5.16 ΠΈ ΡΡΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»Π΅Π½ΠΎ ΠΊΡΠΌ LTS ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, Π΄ΠΎΡΡΠ°Π²ΡΠ½ΠΈ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈΡΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ CVE-2021-0920, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° Π² ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ»Π°Π³Π° MSG_PEEK.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru