В python после коммита d537ab0ff9767ef024f26246899728f0116b1ec3 была обнаружена регрессия безопасности CVE-2019-9636, затрагивающая версии …
В python после коммита d537ab0ff9767ef024f26246899728f0116b1ec3 была обнаружена регрессия безопасности CVE-2019-9636, затрагивающая версии 2.7, 3.5, 3.6, 3.7 и с v3.8.0a4 по v3.8.0b1, которая по-прежнему позволяет злоумышленнику использовать CVE-2019-9636, злоупотребляя частями URL-адреса, относящимися к пользователю и паролю. Когда приложение анализирует предоставленные пользователем URL-адреса для хранения файлов cookie, учетных данных аутентификации или другой информации, злоумышленник может предоставить специально созданные URL-адреса, чтобы заставить приложение находить информацию, связанную с хостом (например, файлы cookie, данные аутентификации), и отправлять их на другой хост, чем тот, куда оно должно было, в отличие от того, если бы URL-адреса были правильно проанализированы. Результат атаки может варьироваться в зависимости от приложения.
Продукт некорректно кодирует или декодирует данные, что приводит к непредвиденным значениям.
https://cwe.mitre.org/data/definitions/172.html →Открыть в коллекции CWE →Некоторые API удаляют определённые ведущие символы из строки параметров. Злоумышленник может намеренно вставлять ведущие «фантомные» символы (дополнительные символы, не влияющие на корректность запроса на уровне API), которые позволяют входным данным пройти фильтры и тем самым обрабатываются API целевого ресурса. Это происходит, когда целевой API принимает входные данные в нескольких синтаксических формах и интерпретирует их семантически одинаково, тогда как фильтр не учитывает полный спектр синтаксических форм, допустимых для целевого API.
https://capec.mitre.org/data/definitions/3.html →Открыть в коллекции CAPEC →Злоумышленник внедряет один или несколько нулевых байтов во входные данные целевого программного обеспечения. Данная атака использует применение байта с нулевым значением в качестве терминатора строки во многих средах. Цель состоит в том, чтобы отдельные компоненты целевого программного обеспечения прекратили обработку входных данных при обнаружении нулевого байта (нулевых байтов).
https://capec.mitre.org/data/definitions/52.html →Открыть в коллекции CAPEC →Если строка проходит через фильтр какого-либо вида, терминальный NULL может оказаться недопустимым. Использование альтернативного представления NULL позволяет злоумышленнику внедрить NULL в середину строки, при этом добавив в конце корректные данные для обхода фильтра. Одним из примеров является фильтр, проверяющий наличие завершающей косой черты. Если внедрение строки возможно, но косая черта обязательна, в середине строки может быть использовано альтернативное кодирование NULL.
https://capec.mitre.org/data/definitions/53.html →Открыть в коллекции CAPEC →Данная атака использует кодирование URL в сочетании с кодированием символов слеша. Злоумышленник может воспользоваться множеством способов кодирования URL и злоупотребить его интерпретацией. URL может содержать специальные символы, требующие особой синтаксической обработки для правильной интерпретации. Специальные символы представляются с помощью символа процента, за которым следуют две цифры, обозначающие код октета исходного символа (%HEX-КОД). Например, пробел в US-ASCII представляется как %20. Это часто называют экранированием или процентным кодированием. Поскольку сервер декодирует URL из запросов, он может ограничивать доступ к некоторым путям URL, проверяя и отфильтровывая полученные URL-запросы. Злоумышленник попытается сформировать URL с последовательностью специальных символов, которая после интерпретации сервером окажется эквивалентна запрещённому URL. Защититься от данной атаки непросто, поскольку URL может содержать другие форматы кодирования, такие как UTF-8, Unicode и т. д.
https://capec.mitre.org/data/definitions/64.html →Открыть в коллекции CAPEC →Злоумышленник может передавать Unicode-строку компоненту системы, не поддерживающему Unicode, и использовать её для обхода фильтра или сбоя классифицирующего механизма при правильной интерпретации запроса. Это может позволить злоумышленнику передать вредоносные данные через фильтр содержимого и/или вызвать некорректную маршрутизацию запроса приложением.
https://capec.mitre.org/data/definitions/71.html →Открыть в коллекции CAPEC →Данная атака направлена на кодирование URL. Злоумышленник может воспользоваться множеством способов кодирования URL и злоупотребить его интерпретацией.
https://capec.mitre.org/data/definitions/72.html →Открыть в коллекции CAPEC →Данная атака использует обратный слеш в альтернативных кодировках. Злоумышленник может использовать обратный слеш в качестве первого символа, вынуждая парсер считать следующий символ специальным. Это называется экранированием. Используя данный приём, злоумышленник пытается эксплуатировать альтернативные способы кодирования одного и того же символа, что создаёт проблемы для фильтров и открывает пути для атак.
https://capec.mitre.org/data/definitions/78.html →Открыть в коллекции CAPEC →Данная атака является специфическим вариантом использования альтернативных кодировок для обхода логики проверки. Атака использует возможность кодирования потенциально опасного ввода в UTF-8 и передачи его приложениям, не ожидающим или неспособным эффективно проверять данный стандарт кодирования, что затрудняет фильтрацию ввода. UTF-8 (8-битный формат преобразования UCS/Unicode) — это кодировка переменной длины для Unicode. Корректные символы UTF-8 имеют длину от одного до четырёх байтов. Однако в ранних версиях спецификации UTF-8 содержались ошибки (в ряде случаев допускались расширенные символы). Кодировщики UTF-8 должны использовать «как можно более короткое» кодирование, однако наивные декодеры могут принимать кодирования длиннее необходимого. В соответствии с RFC 3629, особенно тонкая форма данной атаки может быть проведена против парсера, выполняющего критически важные для безопасности проверки корректности в отношении UTF-8-кодированного вида ввода, но интерпретирующего определённые недопустимые последовательности октетов как символы.
https://capec.mitre.org/data/definitions/80.html →Открыть в коллекции CAPEC →Злоумышленник применяет повторяющееся кодирование набора символов (то есть кодирует символ, уже закодированный с использованием кодировки символов) для обфускации полезной нагрузки конкретного запроса. Это может позволить злоумышленнику обойти фильтры, пытающиеся обнаружить недопустимые символы или строки, — в частности, те, которые могут использоваться в атаках выхода за пределы каталога или внедрения. Фильтры могут перехватывать закодированные недопустимые строки, но не способны перехватить дважды закодированные строки. Например, точка (.), часто используемая в атаках выхода за пределы каталога и потому нередко блокируемая фильтрами, может быть URL-закодирована как %2E. Однако многие фильтры распознают данное кодирование и всё равно заблокируют запрос. При двойном кодировании знак % в приведённом URL-кодировании снова кодируется как %25, что даёт %252E — строку, которую некоторые фильтры не распознают, однако интерпретаторы на целевой стороне по-прежнему могут трактовать как точку (.).
https://capec.mitre.org/data/definitions/120.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует возможность кодирования потенциально опасных входных данных или содержимого, используемых приложениями, таким образом, что приложения оказываются не в состоянии проверять данное кодирование надлежащим образом.
https://capec.mitre.org/data/definitions/267.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| imgbased | Отслеживается | |
| libpython3 | Отслеживается | |
| ovirt-node-ng | Отслеживается | |
| python | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается | |
| python2.7 | Отслеживается |