Исследователь Пали Рохар (Pali Rohár) обнаружил, что разработчики MySQL не сумели до конца исправить старую уязвимость, известную как Backronym. В результате этого образовалась новая проблема CVE-2017-3305, которую специалист назвал «Решето» (Riddle).
Рохар пишет, что баг представляет опасность для MySQL 5.5 и 5.6, хотя исправление было представлено в версиях 5.5.49 и 5.6.30, оно не сумело решить проблему по конца. Впрочем версии старше 5.7, равно как и MariaDB, проблеме не подвержены.
Напомню, что проблема Backronym состояла в том, что MySQL оставлял пароль видимым для атакующих, что позволяло злоумышленникам перехватить учетные данные, даже если подключение защищено и использует SSL. Для этого хакерам нужно было лишь предварительно реализовать man-in-the-middle атаку,
«Обновление безопасности MySQL 5.5.49 и 5.6.30 добавляло дополнительную проверку параметров безопасности после завершения процесса аутентификации. Так как она осуществляется после аутентификации, атакующий может использовать атаку man riddle-in-the-middle и даунгрейд SSL, чтобы похитить учетные данные и немедленно использовать их для аутентификации на MySQL-сервере, — пишет Рохар. — Самое смешное заключается в том, что MySQL-клиент не сообщит о каких-либо ошибках, связанных с SSL, когда сервер откажется аутентифицировать пользователя, вместо этого появится сообщение сервера, об ошибке шифрования. Хуже того, когда атака riddle in the middle активна, даже сообщение об ошибке находится под контролем злоумышленников».
Исследователь призывает всех срочно обновиться до MySQL 5.7 или перейти на использование MariaDB, где проблема была полностью устранена. По словам Рохара, сообщать о баге разработчикам Oracle бесполезно, если вы не являетесь их клиентом.
«Они просто игнорируют любые сообщения, и были бы очень счастливы, если бы никто не узнал об этом, и им не пришлось бы исправлять баги», — пишет специалист.