Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-3030-Prototype-Pollution-in-JSON-Merge-Patch — Демонстрирует prototype pollution CVE-2026-3030 в REST API Node.js, использующем JSON merge patch, включая уязвимый сервер и эксплойт-скрипт для повышения привилегий. | Kitploit
Инструменты/GitHubGitHub/george0papasotiriou/cve-2026-3030-prototype-pollution-in-json-merge-patch
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьОбучение и ОбразованиеБезопасность API
GitHubgeorge0papasotiriou/cve-2026-3030-prototype-pollution-in-json-merge-patch

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-3030-Prototype-Pollution-in-JSON-Merge-Patch

Демонстрирует prototype pollution CVE-2026-3030 в REST API Node.js, использующем JSON merge patch, включая уязвимый сервер и эксплойт-скрипт для повышения привилегий.

Репозиторий
51 месяц назадЕщё не проверено

CVE-2026-3030 – Загрязнение прототипа в JSON Merge Patch

Программный код (Node.js)

root@kitploit:~
// server.js - Vulnerable REST API with deep merge
const express = require('express');
const app = express();
app.use(express.json());

let config = {
    role: 'user',
    settings: {}
};

// Insecure deep merge function (pollutable via __proto__)
function deepMerge(target, source) {
    for (const key in source) {
        if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
            if (!target[key]) target[key] = {};
            deepMerge(target[key], source[key]);
        } else {
            target[key] = source[key];
        }
    }
    return target;
}

app.patch('/config', (req, res) => {
    deepMerge(config, req.body);
    res.json(config);
});

app.get('/admin', (req, res) => {
    // Check admin via a property that could be polluted
    if (config.role === 'admin' || config.isAdmin) {
        res.send('Welcome Admin!');
    } else {
        res.status(403).send('Forbidden');
    }
});

app.listen(3000, () => console.log('Server on :3000'));

CVE-2026-3030 – Загрязнение прототипа через JSON Merge Patch

Severity: High

Обзор

Node.js API использует уязвимую функцию глубокого слияния для применения JSON-патчей. Отправляя __proto__ в качестве ключа, злоумышленник может загрязнить прототип глобального объекта, добавляя или переопределяя свойства, такие как isAdmin, что приводит к повышению привилегий.

Детали уязвимости

  • Тип: Загрязнение прототипа
  • Воздействие: Повышение привилегий, отказ в обслуживании, иногда RCE.
  • Корневая причина: Функция deepMerge копирует ключи без проверки на __proto__ или constructor, что допускает инъекцию в Object.prototype.

Демонстрация эксплуатации

  1. Запустите сервер:
    root@kitploit:~
    npm install express
    node server.js
    
  2. Запустите эксплойт:
    root@kitploit:~
    python exploit_prototype_pollution.py
    
Скачать инструмент