Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Perl-ΠΌΠΎΠ΄ΡƒΠ»Π΅ Spreadsheet::ParseExcel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ Barracuda ESG

Π’ Perl-ΠΌΠΎΠ΄ΡƒΠ»Π΅ Spreadsheet::ParseExcel, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π·Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Excel, выявлСна критичСская ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2023-7101), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² XLS ΠΈΠ»ΠΈ XLSX, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° форматирования чисСл. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° использованиСм ΠΏΡ€ΠΈ построСнии Π²Ρ‹Π·ΠΎΠ²Π° «eval» Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Spreadsheet::ParseExcel 0.66. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита. Уязвимый ΠΊΠΎΠ΄: if ( $format_str =~ /^\[([<>=][^\]]+)\](.*)$/ ) { $conditional = $1; $format_str = $2; } … $section = eval «$number $conditional» ? 0 : 1; ΠŸΡ€ΠΈΠΌΠ΅Ρ€ эксплоита для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ whoami: <numFmts count=»1″> <numFmt numFmtId=»123″ formatCode=»[>123;system(‘whoami > /tmp/inject.txt’)]123″/> </numFmts>

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° выявлСна ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Barracuda Networks Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Π±ΠΎΡ€Π° Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ врСдоносного ПО Π½Π° устройствах Barracuda ESG (Email Security Gateway). ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ устройств оказалась 0-day ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2023-7102) Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Spreadsheet::ParseExcel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π² Barracuda ESG для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Excel. Для выполнСния своСго ΠΊΠΎΠ΄Π° Π½Π° систСмах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Barracuda ESG, Π±Ρ‹Π»ΠΎ достаточно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ email со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

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