CVE-2026-40175: загрязнение прототипа в Axios
Уязвимость
CVE-2026-40175 затрагивает версии
Axios ниже 1.15.0 и относится к классу
CRLF-инъекция (CWE-113) с возможностью построения цепочки атак через request smuggling и SSRF.
Её особенность в том, что это не самостоятельная уязвимость, а вспомогательный механизм, который позволяет превратить уже существующее загрязнение прототипа (prototype pollution) в используемых проектом внешних библиотеках в полноценную сетевую атаку.
Axios при формировании запроса выполняет слияние конфигураций (merge Config), которые включают в себя HTTP-заголовки. При этом используется стандартный обход свойств JavaScript-объекта, затрагивающий цепочку прототипов (prototype chain).
При вызове функции
JavaScript
const api = axios.create({
baseURL: 'https://api.com',
headers: { 'X-App': 'my-app' }
})
api.get('/users', {
headers: { Authorization: 'Bearer token' }
})
Аксиос собирает следующий запрос:
GET https://api.com/users
Headers:
X-App: my-app
Authorization: Bearer token
Если злоумышленник смог загрязнить
Object.prototype, добавив лишние свойства в базовый объект JavaScript, то эти свойства автоматически подхватятся и попадут в HTTP-запрос, который сформирует Axios.
Object.prototype['x-test'] = "value"
axios.get("https://target")
В уязвимых версиях Axios некорректно реализована проверка значений заголовков на наличие CRLF-инъекции (
\r\n) — очистка опасных символов выполнялась только в конце строки, а не во всём значении. Это позволяет отправить контрабандный запрос через загрязнение прототипа и CRLF-инъекцию.
Пример:
Object.prototype['x-amz-target'] = "a\r\n\r\nPUT /latest/api/token HTTP/1.1\r\nHost: 169.254.169.254\r\n..."
Цепочка эксплуатации выглядит следующим образом:
🔹Для эксплуатации требуется наличие возможности загрязнения прототипа в приложении.
🔹Axios при сборке запроса в
mergeConfig подхватывает загрязнённый прототип.
🔹CRLF-инъекция приводит к разрыву запроса и отправке контрабандного запроса.
🔹Контрабандный запрос приводит к успешной эксплуатации SSRF и получению доступа к внутренним сервисам.
Изначально этой уязвимости эксперты дали максимальную оценку в
10.0 по шкале CVSS (Common Vulnerability Scoring System — система оценки критичности уязвимостей), потому что смотрели на всю цепочку атак целиком, но после уточнения вектора атаки её снизили до
4.8.
В связи со сложностью эксплуатации и необходимостью выполнения ряда условий, уязвимость CVE-2026-40175 не представляет столь серьёзной угрозы, как предполагалось изначально. Тем не менее, наши специалисты уже проанализировали периметр клиентов и уведомили их о наличии уязвимых версий Axios, а в
Metascan добавлен шаблон для выявления уязвимых серверов.
#Metascan #pentest #redteam #Metascan_news
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram