проблема
Код, що викликає string_interpret_escape(), виділяє буфер під стоку, керуючись фактичним розміром, і виставлений покажчик виявляється в області поза межами буфера. Відповідно, при спробі обробки вхідного рядка виникає ситуація читання даних з області поза межами виділеного буфера, а спроба запису розекранованого рядка може призвести до запису за межі буфера.
У стандартній конфігурації вразливість може бути експлуатована через передачу спеціально оформлених даних в SNI при установці захищеного з'єднання до сервера. Проблема також може бути ексаплуатована через модифікацію значень peerdn у конфігураціях, налаштованих для автентифікації сертифіката клієнта, або при імпорті сертифікатів. Атака через SNI та peerdn можлива починаючи з випуску
Для атаки через SNI підготовлений прототип експлоїту, що працює на архітектурах i386 та amd64 у Linux-системах з Glibc. В експлоїті використовується накладення даних на область купи, що веде до перезапису пам'яті, в якій зберігається ім'я логового файлу. Ім'я файлу замінюється на "/../../../../../../../../etc/passwd". Далі перезаписується змінна з адресою відправника, який першим зберігається в балку, що дозволяє додати нового користувача в систему.
Оновлення пакетів з усуненням уразливості випущено дистрибутивами
Як обхідний шлях для блокування вразливості можна вимкнути підтримку TLS або додати до
секцію ACL "acl_smtp_mail":
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Джерело: opennet.ru