MariaDB Connector/R2DBC — это неблокирующий клиент MariaDB и MySQL, реализованный на Java. До версии 1.4.1 org.mariadb:r2dbc-mariadb кодирует и декодирует все символьные данные в предположении, что набор символов соединения — UTF-8. Сервер может объявить об изменении символа_set_client в середине сеанса через механизм отслеживания состояния сеанса пакета OK, в том числе через SET NAMES, выполняемый хранимой подпрограммой или триггером, конфигурацией сервера или враждебным сервером или сервером-посредником.
Если новый набор символов отличается от UTF-8, драйвер продолжает обмениваться UTF-8, в то время как сервер интерпретирует те же байты в другой кодировке, что приводит к скрытому повреждению данных и несоответствию кодировок клиента и сервера, что может привести к невозможности байтового цитирования или экранирования. Исправление принимает только utf8, utf8mb3 или utf8mb4 после инициализации; любое другое значение вызывает исключение R2dbcNonTransientResourceException с SQLState 08000 и закрывает соединение. Эта проблема исправлена в версии 1.4.1.
Показать оригинальное описание (EN)
MariaDB Connector/R2DBC is a non-blocking MariaDB and MySQL client implemented in Java. Prior to 1.4.1, org.mariadb:r2dbc-mariadb encodes and decodes all character data under the assumption that the connection character set is UTF-8. A server can announce a mid-session change to character_set_client through the OK-packet session-state-tracking mechanism, including through SET NAMES executed by a stored routine or trigger, server configuration, or a hostile or man-in-the-middle server. If the new character set is not UTF-8, the driver continues to exchange UTF-8 while the server interprets the same bytes under a different 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 raises R2dbcNonTransientResourceException with SQLState 08000 and closes the connection. This issue is fixed in version 1.4.1.
Характеристики атаки
Последствия
Строка CVSS v3.1