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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-11108-Integer-Overflow-in-Memory-Allocator-kmalloc-Sim- — Демонстрирует целочисленное переполнение CVE-2026-11108 в симуляции kmalloc, вызывающее переполнение кучи и потенциальное выполнение произвольного кода при специально подобранном размере выделения памяти. | Kitploit
Инструменты/GitHubGitHub/george0papasotiriou/cve-2026-11108-integer-overflow-in-memory-allocator-kmalloc-sim-
Анализ уязвимостейЭксплуатацияЭксплуатация Бинарных Файлов
GitHubgeorge0papasotiriou/cve-2026-11108-integer-overflow-in-memory-allocator-kmalloc-sim-

CVE-2026-11108-Integer-Overflow-in-Memory-Allocator-kmalloc-Sim-

Демонстрирует целочисленное переполнение CVE-2026-11108 в симуляции kmalloc, вызывающее переполнение кучи и потенциальное выполнение произвольного кода при специально подобранном размере выделения памяти.

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

Популярное

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

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

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

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

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

CVE-2026-11108 – Целочисленное переполнение в распределителе памяти (симулятор kmalloc)

Программный код (C)

root@kitploit:~
// alloc_sim.c - Vulnerable memory allocator
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_BLOCK 1024

void *my_malloc(size_t size) {
    size_t total = size + sizeof(size_t); // header
    if (total > MAX_BLOCK) return NULL;
    void *ptr = malloc(total);
    if (!ptr) return NULL;
    *(size_t *)ptr = size;
    return ptr + sizeof(size_t);
}

void my_free(void *p) {
    if (!p) return;
    size_t *header = (size_t *)(p - sizeof(size_t));
    free(header);
}

int main() {
    // Craft size that causes integer overflow: 0xFFFFFFFF - sizeof(size_t) + 1 wraps to small number
    size_t huge = 0xFFFFFFFF;  // 4GB - 1
    char *buf = my_malloc(huge - sizeof(size_t) + 1); // overflow: total becomes 0?
    if (buf) {
        // Write far beyond allocated buffer, heap overflow
        memset(buf, 'A', 1000);
        printf("Wrote 1000 bytes to tiny buffer\n");
        my_free(buf);
    }
    return 0;
}

CVE-2026-11108 – Целочисленное переполнение в распределителе памяти

Severity: Critical

Обзор

Пользовательский распределитель памяти некорректно вычисляет общий размер выделения, прибавляя размер заголовка без проверки на переполнение. При передаче размера, близкого к UINT_MAX, итоговая сумма из-за переполнения становится малой, поэтому выделяется крошечный буфер, но последующая большая запись вызывает переполнение кучи.

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

  • Тип: целочисленное переполнение / переполнение кучи
  • Воздействие: выполнение произвольного кода, повреждение памяти.
  • Корневая причина: функция выделения памяти не проверяет переполнение при добавлении размера заголовка к запрошенному пользователем размеру.

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

Скомпилируйте и запустите:

root@kitploit:~
gcc -o alloc_sim alloc_sim.c -fno-stack-protector
./alloc_sim

Программа записывает значительно больше байт, чем размер выделенного буфера, повреждая метаданные кучи и, вероятно, приводя к аварийному завершению.

Скачать инструмент