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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-74469 — Исследовательский репозиторий для CVE-2026-74469 (DiagSpill) — переполнение счётчика транспорта пира SCTP в ядре Linux, приводящее к записи за границами буфера, с PoC, анализом первопричины и сведениями о патче. | Kitploit
Инструменты/GitHubGitHub/0xblackash/cve-2026-74469
Повышение привилегийКриминалистика памятиАнализ уязвимостейЭксплуатацияСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHub0xblackash/cve-2026-74469

CVE-2026-74469

Исследовательский репозиторий для CVE-2026-74469 (DiagSpill) — переполнение счётчика транспорта пира SCTP в ядре Linux, приводящее к записи за границами буфера, с PoC, анализом первопричины и сведениями о патче.

11191 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

⚡ CVE-2026-74469 — DiagSpill

Gemini_Generated_Image_yv49p8yv49p8yv49

Переполнение счётчика транспортов пиров SCTP в ядре Linux

Уязвимость в SCTP ядра Linux, вызванная переполнением 16-битного счётчика транспортов пиров, из-за чего счётчик может переполниться с 65535 до 0. Во время диагностического дампа SCTP переполненное значение может привести к недостаточному резервированию полезной нагрузки skb, а затем к записи за границы буфера данных адреса пира.


⚠️ Отказ от ответственности

Этот репозиторий предназначен только для авторизованных исследований в области безопасности, анализа уязвимостей ядра, сред CTF, отладки ядра и защитного тестирования.

Не используйте код proof-of-concept против систем без явного разрешения.


📌 Обзор уязвимости

ПолеДетали
CVECVE-2026-74469
Кодовое имяDiagSpill
КомпонентLinux Kernel
ПодсистемаSCTP / sock_diag
Затронутый файлnet/sctp/associola.c
Основная функцияsctp_assoc_add_peer()
Класс ошибкиЦелочисленное переполнение / запись за границы буфера
ВоздействиеПовреждение памяти ядра
Потенциальное воздействиеЛокальное повышение привилегий
CVSS v3.17.0 — High
Вектор атакиЛокальный
Сложность атакиВысокая
Требуемые привилегииНизкие
Взаимодействие с пользователемОтсутствует
СтатусИсправлено

В рекомендации по CVE для ядра Linux проблема описывается как переполнение 16-битного transport_count в SCTP, за которым следует недостаточный по размеру выделенный буфер INET_DIAG_PEERS и запись за границы буфера во время диагностического дампа.


🧬 Описание уязвимости

Уязвимый код хранит количество уникальных транспортов пиров в 16-битном счётчике:

transport_count

Каждый вновь добавленный уникальный пир увеличивает счётчик.

Критическая граница:

65535

Добавление ещё одного уникального транспорта вызывает:

65535 + 1
     ↓
     0

Получившееся «обёртывание» создаёт несоответствие между:

transport_count

и:

transport_addr_list

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


🔬 Первопричина

Уязвимость можно представить как:

                    SCTP Association
                           │
                           ▼
                 Add unique peers
                           │
                           ▼
                 transport_count
                    uint16_t
                           │
                           ▼
                    65,535 peers
                           │
                           ▼
                 + 1 unique peer
                           │
                           ▼
                    Integer wrap
                           │
                           ▼
                transport_count = 0
                           │
                           ▼
                  SCTP sock_diag
                           │
                           ▼
             Reserve incorrect payload
                           │
                           ▼
          Iterate complete peer list
                           │
                           ▼
             Out-of-bounds skb write

В исходном рекомендации конкретно указано, что 65 536-й транспортный блок вызывает переполнение счётчика до нуля.


🧠 Почему возникает ошибка

Диагностический код фактически опирается на два разных представления одного и того же состояния.

Сторона выделения

transport_count
       │
       ▼
payload size

Копирование на стороне

transport_addr_list
       │
       ▼
copy every peer address

После переполнения целого числа:

transport_count = 0

transport_addr_list =
    [peer 1]
    [peer 2]
    [peer 3]
    ...
    [peer 65536]

Таким образом, аллокатор резервирует пространство на основе:

0 peers

в то время как операция копирования всё ещё может обрабатываться:

65536 peer addresses

Это несоответствие приводит к нарушению безопасности памяти.


💥 Повреждение памяти

В рекомендациях по Linux Kernel результирующий диагностический дамп описывается как резервирование пустой полезной нагрузки и последующая запись примерно 8 MiB адресов пиров за пределами хвоста skb.

Концептуально:

Expected skb:

┌───────────────────────────────┐
│ INET_DIAG header              │
├───────────────────────────────┤
│ Peer addresses                │
└───────────────────────────────┘
              ▲
              │
          valid end


Actual vulnerable state:

┌───────────────────────────────┐
│ INET_DIAG header              │
└───────────────────────────────┘
              ▲
              │
          skb tail

              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      Peer address writes
              ↓
      OUT-OF-BOUNDS WRITE

Red Hat классифицирует эту уязвимость как CWE-787: запись за границами буфера.


🔎 Уязвимый путь в коде

Соответствующий путь можно кратко описать так:

SCTP association
      │
      ▼
sctp_assoc_add_peer()
      │
      ▼
transport_count++
      │
      ▼
16-bit overflow
      │
      ▼
SCTP sock_diag
      │
      ▼
INET_DIAG_PEERS
      │
      ▼
skb payload reservation
      │
      ▼
transport_addr_list iteration
      │
      ▼
Out-of-bounds write

Затронутый исходный файл:

net/sctp/associola.c

Объявление о CVE в ядре Linux явно указывает на этот файл.


🩹 Исправление в upstream

Исправление в upstream выглядит так:

bd0e9289e2642f6a5c54faad304ce0f41e926d22

Commit:

sctp: prevent peer transport count overflow

Исправление отклоняет нового уникального пира, когда:

transport_count >= U16_MAX

Важно, что проверка выполняется после поиска существующего пира.

Это сохраняет возможность получить уже существующий транспорт, даже когда ассоциация достигла предела.


🛡️ Логика патча

Уязвимый

New peer
   │
   ▼
transport_count++
   │
   ▼
Possible 16-bit wrap
   │
   ▼
Diagnostic size mismatch
   │
   ▼
OOB write

Исправлено

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