В функции MatchDomainName() входной параметр str обрабатывается как строка, завершающаяся NULL, несмотря на то, что он предоставлен пользов…
В функции MatchDomainName() входной параметр str обрабатывается как строка, завершающаяся NULL, несмотря на то, что он предоставлен пользователем и не проверен. В частности, функция X509_check_host() принимает указатель и длину для проверки, без каких-либо требований к завершению NULL. Если вызывающий объект пытался выполнить проверку имени в буфере, не заканчивающемся NULL, код считывал бы за пределы входного массива, пока не нашел бы признак конца строки NULL. Эта проблема затрагивает wolfSSL: до версии 5.7.0.
Продукт читает данные за пределами конца или до начала предназначенного буфера.
https://cwe.mitre.org/data/definitions/125.html →Открыть в коллекции CWE →Злоумышленник атакует цель, передавая входные данные, вынуждающие приложение читать за пределами границы определённого буфера. Как правило, это происходит, когда значение, определяющее начало или конец чтения, установлено на позиции за пределами допустимой области памяти буфера. Атака данного типа может привести к раскрытию конфиденциальной информации, аварийному завершению работы системы или выполнению произвольного кода.
https://capec.mitre.org/data/definitions/540.html →Открыть в коллекции CAPEC →