CVE-2026-89425 in jackson-core
Сводка
по VulDB • 23.09.2026
UTF8DataInputJsonParser._reportInvalidToken() в FasterXML jackson-core формирует текст offending-token для своего сообщения об ошибке путем добавления символов Java-идентификатора к StringBuilder в цикле без верхнего предела. В отличие от трех родственных реализаций парсеров, включая UTF8StreamJsonParser, он никогда не обращается к ErrorReportConfiguration.getMaxErrorTokenLength() (по умолчанию 256). Следовательно, неправильно сформированный токен, переданный в парсер, созданный через JsonFactory.createParser(DataInput), накапливается полностью. Никакая настройка StreamReadConstraints не смягчает эту проблему: maxDocumentLength вообще нельзя применить к источникам DataInput, а maxStringLength не охватывает этот путь, так как накопление обходит ReadConstrainedTextBuffer. Сообщатель измерил сообщение об исключении длиной 20 000 109 символов из неправильно сформированного токена размером в 20 миллионов символов на пути DataInput, по сравнению с 367 символами для идентичных входных данных на пути InputStream. Масштабирование payload приводит к увеличению StringBuilder, который также включает расширение byte-to-char и внутреннее удвоение массива, до многих раз от размера raw payload и может вызвать OutOfMemoryError для всего JVM. UTF8DataInputJsonParser был введен в версии 2.8.0 вместе с createParser(DataInput); выпуски старше 2.8.0 не содержат затронутый класс.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.