MariaDB Connector/J используется для подключения приложений, разработанных на Java, к базам данных MariaDB и MySQL. До версий 2.7.14, 3.3.5, 3.4.3 и 3.5.9 соединитель кодирует и декодирует текст протокола и выполняет экранирование на стороне клиента при условии, что набор символов соединения — UTF-8. Сервер может сообщить об изменении в середине сеанса вcharacter_set_client через отслеживание состояния сеанса пакета OK, включая изменения, вызванные SET NAMES, сохраненной подпрограммой или триггером, конфигурацией сервера или враждебным сервером.
Если символ_set_client изменяется на значение, отличное от UTF-8, драйвер продолжает читать и записывать UTF-8, в то время как сервер интерпретирует те же байты в другой кодировке, что приводит к скрытому повреждению данных и несоответствию кодировок клиента и сервера, что может привести к невозможности байтового цитирования или экранирования. Исправление принимает только utf8, utf8mb3 или utf8mb4 после инициализации; любое другое значение вызывает SQLException с SQLState 08000 и закрывает соединение. Эта проблема исправлена в версиях 2.7.14, 3.3.5, 3.4.3 и 3.5.9.
Показать оригинальное описание (EN)
MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases. Prior to 2.7.14, 3.3.5, 3.4.3, and 3.5.9, the connector encodes and decodes protocol text and performs client-side escaping under the assumption that the connection character set is UTF-8. The server can report a mid-session change to character_set_client through OK-packet session-state tracking, including a change caused by SET NAMES, a stored routine or trigger, server configuration, or a hostile server. If character_set_client changes to a non-UTF-8 value, the driver continues to read and write UTF-8 while the server interprets the same bytes under another encoding, causing silent data corruption and a client/server charset-confusion mismatch that can defeat byte-wise quoting or escaping. The fix accepts only utf8, utf8mb3, or utf8mb4 after initialization; any other value causes SQLException with SQLState 08000 and closes the connection. This issue is fixed in versions 2.7.14, 3.3.5, 3.4.3, and 3.5.9.
Характеристики атаки
Последствия
Строка CVSS v3.1