Уязвимост Π² Docker, която Π²ΠΈ позволява Π΄Π° избягатС ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Π’ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡƒΠΌ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ Linux Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ уязвимост (CVE-2018 15664-), ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ обстоятСлства Π²ΠΈ позволява Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ хост срСдата ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° стартиратС Π²Π°ΡˆΠΈΡ‚Π΅ изобраТСния Π² систСмата ΠΈΠ»ΠΈ с Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС появява във всички вСрсии Π½Π° Docker ΠΈ остава Π½Π΅Ρ€Π΅ΡˆΠ΅Π½ (ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½, Π½ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚, ΠΊΡ€ΡŠΠΏΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΎΠΊΠ°Ρ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с FS).

Уязвимостта позволява Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° част ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π½Π° хост систСмата ΠΏΡ€ΠΈ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€ždocker cpβ€œ. Π˜Π·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с root ΠΏΡ€Π°Π²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ възмоТно Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ ΠΈΠ»ΠΈ записванСто Π½Π° всякакви Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² хост срСдата, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ хост систСмата (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ /etc/shadow).

Атаката ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° само ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ изпълни ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€ždocker cpβ€œ, Π·Π° Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ нападатСлят трябва ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΡƒΠ±Π΅Π΄ΠΈ администратора Π½Π° Docker Π·Π° нСобходимостта ΠΎΡ‚ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ опСрация ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈ ΠΏΡŠΡ‚Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ услуги прСдоставят инструмСнти Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€œdocker cp”.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° функцията Π‘Π»Π΅Π΄Π²Π°ΠΉΡ‚Π΅ SymlinkInScope, ΠΊΠΎΠΉΡ‚ΠΎ изчислява Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΈΡ ΠΏΡŠΡ‚ Π² основната Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма въз основа Π½Π° относитСлния ΠΏΡŠΡ‚, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "docker cp", краткосрочСн ΡΡŠΡΡ‚Π΅Π·Π°Ρ‚Π΅Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡŠΡ‚ΡΡ‚ Π²Π΅Ρ‡Π΅ Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½, Π½ΠΎ опСрацията всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π°. Въй ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π² контСкста Π½Π° основната Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π½Π° хост систСмата, Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° успССтС Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° с Π΄Ρ€ΡƒΠ³ ΠΏΡŠΡ‚ ΠΈ Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ място във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма извън ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Въй ΠΊΠ°Ρ‚ΠΎ врСмСвият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π·Π° възникванС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Π΅ силно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ СксплоатационСн ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠŸΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ бСшС възмоТно Π΄Π° сС постигнС ΡƒΡΠΏΠ΅ΡˆΠ½Π° Π°Ρ‚Π°ΠΊΠ° Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 1% ΠΎΡ‚ случаитС ΠΏΡ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½Π° замяна Π½Π° символна Π²Ρ€ΡŠΠ·ΠΊΠ° Π² ΠΏΡŠΡ‚Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² опСрацията Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ (ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ‚Π° Π°Ρ‚Π°ΠΊΠ° бСшС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° слСд ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 10 сСкунди ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π° Π² Ρ†ΠΈΠΊΡŠΠ» с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€ždocker cpβ€œ).

Π§Ρ€Π΅Π· ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° опСрация Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° постигнСтС повторяСма Π°Ρ‚Π°ΠΊΠ° Π·Π° прСзаписванС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° хост систСмата само с няколко ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π°Ρ‚Π°ΠΊΠ° сС дълТи Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° концСпцията β€žchrootarchiveβ€œ, спорСд която ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ archive.go ΠΈΠ·Π²Π»ΠΈΡ‡Π° Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π΅ Π² chroot Π½Π° ΠΊΠΎΡ€Π΅Π½Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π° Π² chroot Π½Π° родитСлска дирСктория Π½Π° цСлСвия ΠΏΡŠΡ‚, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π° ΠΎΡ‚ атакуващия, ΠΈ Π½Π΅ спира ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (chroot сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ Π·Π½Π°ΠΊ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° условията Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅).

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

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