Уязвимость в Java и Python легко позволяет обойти фаирвол в Linux

НОВОСТИ
2017-03-01 17:11:08
0
2.0K

1_5

Двое учёных Александр Клинк и Тимоти Морган заявили, что Java и Python, действуя в библиотеках urllib и urllib2, так работают с ссылками на FTP, что это даёт право атакующему в URL  засунуть знаки CRLF. Java и Python принимают решение, что в ссылке есть новые правила, что в свою очередь ведётк появлению уязвимости, которую оба учёных назвали protocol injection - вторжение правил в протокол FTP.

О подобных "инъекциях" начали говорить ещё в 2014 году, а точнее её описала российская компания ONsec, но тогда никакого внимания ошибка не привлекла. Но сейчас проблемой начали интересоваться так, как Клиент поведал, что подобным способом можно воспользоваться для отправки писем, используя Java FTP URL, Морган же заявляет, что благодаряд анному багу можно легко обойти фаирвол, и получить доступ ко всему у пользователей, в том числе и определить его местонахождение.

Клинк говорит, что Java легко пробивается атакми вида XML eXternal Entity, говоря простым языком она не верно функционирует с FTP. Происходит проверка синтаксиса и cr, lf по идеи должны быть отвернгнуты, но этого не происходит, и их внедряют в запрос, который вообще не относится к FTP. Таким образом можно отправить SMTP письмо, подключаясь к FTP. Клинк заверяет, что длина URL не ограничена, единственное, чтоставит лимит это объём памяти RAM.

Морган же заявил, что лучше проводжить атаку против фаирвола, разрешая TCP-соединение с одним из уязвимых портов, например с 1024-65535, эту атаку можно использовать против обычных пользователей, даже если Java у них вообще отключён.

Исследователь говорит, что хватит обращения пользователя к Java или Python приложению на сервер, ещё до отображения изображений, атака будет успешна так, как URL будет внутри JNLP. Атаки можно даже сделать многоуровневыми, то есть в одном файле сразу может быть несколько ссылок, почти тоже самое можно сделать с помощью urllib2 и urllib.

На данный момент Морган атаковал таким образом Linux-фаирволы, в том числе коммерческие Palo Alto и Cisco, и все атаки были успешны. Также он говорит, что файлы JNLP можно использовать для атак типа SSRF.

Морган написал разработчикам Python и Oracle об этой уязвимости ещё в осенью прошлого года, однако, пробелму до сих пор никто не решил. На данный момент исправлений нет, так что лучше отключить классический мод FTP в фаирволе, удалить Java отовсюду, откуда сможете.

Помните - Ваша безопасность это не Ваша заслуга, а чья-то недоработка.

0
2.0K