Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ GNU split, приводящая ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π°

Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ split, поставляСмой Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ GNU coreutils ΠΈ примСняСмой для раздСлСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° части, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2024-0684), приводящая ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк (нСсколько сотСн Π±Π°ΠΉΡ‚), Π² случаС использования Π² split ΠΎΠΏΡ†ΠΈΠΈ «—line-bytes» («-C»). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° выявлСна Π² Ρ…ΠΎΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·Π° сбоСв, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ использовании ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ split для раздСлСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ QR-ΠΊΠΎΠ΄ΠΎΠ².

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ошибкой, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² выпускС coreutils 7.2 ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ xrealloc Π½Π° xpalloc. ΠŸΠ°Ρ‚Ρ‡ с исправлСниСм ΡƒΠΆΠ΅ принят Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ, Π½ΠΎ новая вСрсия с исправлСниСм ΠΏΠΎΠΊΠ° Π½Π΅ сформирована. Для дСмонстрации проявлСния уязвимости ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ запускС «split -C 1024 ./split_me».

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