Уязвимости Π² Buildroot, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· MITM-Π°Ρ‚Π°ΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° сборочном сСрвСрС

Π’ систСмС сборки Buildroot, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Linux-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ для встраиваСмых систСм, выявлСны ΡˆΠ΅ΡΡ‚ΡŒ уязвимостСй, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π² Ρ…ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° (MITM) Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ систСмныС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сборочной систСмы. Уязвимости устранСны Π² выпусках Buildroot 2023.02.8, 2023.08.4 ΠΈ 2023.11.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ уязвимости (CVE-2023-45841, CVE-2023-45842, CVE-2023-45838, CVE-2023-45839, CVE-2023-45840) Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ Ρ…ΡΡˆΠ°ΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сводятся ΠΊ возмоТности использования HTTP для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… hash-Ρ„Π°ΠΉΠ»ΠΎΠ² для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², имСя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΠΈΠ½ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Ρ€Π°Ρ„ΠΈΠΊ сборочного сСрвСра (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· Π±Π΅ΡΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ).

Π’ частности, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ aufs ΠΈ aufs-util Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ ΠΏΠΎ HTTP ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»ΠΈΡΡŒ ΠΏΠΎ Ρ…ΡΡˆΠ°ΠΌ. Π₯эши Ρ‚Π°ΠΊΠΆΠ΅ отсутствовали для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² riscv64-elf-toolchain, versal-firmware ΠΈ mxsldr, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ ΠΏΠΎ HTTPS, Π½ΠΎ Π² случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π±Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с хоста http://sources.buildroot.net. ΠŸΡ€ΠΈ отсутствии Ρ„Π°ΠΉΠ»ΠΎΠ² «.hash» инструмСнтарий Buildroot считал ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π² Ρ‚ΠΎΠΌ числС примСнял входящиС Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΈ запускал сборочныС сцСнарии. ИмСя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ³ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… собствСнныС ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΈΠ»ΠΈ сборочныС Ρ„Π°ΠΉΠ»Ρ‹ Makefiles, Ρ‡Ρ‚ΠΎ позволяло внСсти измСнСния Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π· ΠΈΠ»ΠΈ скрипты сборочной систСмы ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния своСго ΠΊΠΎΠ΄Π°.

ШСстая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2023-43608) Π²Ρ‹Π·Π²Π°Π½Π° ошибкой Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ BR_NO_CHECK_HASH_FOR, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ цСлостности ΠΏΠΎ Ρ…ΡΡˆΠ°ΠΌ для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². НСкоторыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ядро Linux, U-Boot ΠΈ versal-firmware, допускали Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ послСдних вСрсий, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅Ρ‰Ρ‘ Π½Π΅ сформированы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Π΅ Ρ…ΡΡˆΠΈ. Для Π΄Π°Π½Π½Ρ‹Ρ… вСрсий ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡŒ опция BR_NO_CHECK_HASH_FOR, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ Ρ…ΡΡˆΡƒ. Π”Π°Π½Π½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ ΠΏΠΎ HTTPS, Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² случаС сбоя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ использовался ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ source.buildroot.net Π±Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ http://. ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ Π² Ρ…ΠΎΠ΄Π΅ MITM-Π°Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠ³ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ HTTPS-сСрвСру ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π½Π° http://sources.buildroot.net.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ