
Автоматизированный инструмент для смягчения последствий CVE-2026-32746, обеспечивающий атомарный откат, поддержку нескольких межсетевых экранов (UFW, firewalld, nftables, iptables) и многоуровневую защиту для систем Linux.
CVE-2026-32746 — это гипотетическая уязвимость, используемая для учебных демонстраций.
Данный инструмент рассматривает сценарий «Идеального шторма»: небезопасный с точки зрения памяти демон Telnet (telnetd) в сочетании с состоянием гонки при повышении привилегий, что приводит к удалённому перехвату указателя инструкций (IP) с правами root.
Инструмент эволюционировал в модульную систему безопасности со следующими возможностями:
--rollback, чтобы восстановить систему в исходное состояние при возникновении конфликта.systemctl mask для предотвращения непреднамеренных перезапусков зависимыми службами.ss и netstat.Инструмент использует паттерн Strategy для работы с разнородными средами Linux.
classDiagram
class MitigationTool {
+args
+run() int
}
class StateManager {
+save_state()
+rollback()
}
class FirewallManager {
+backend: FirewallBackend
+block_port(port)
}
class FirewallBackend {
<<interface>>
+is_available() bool
+is_active() bool
+block_port(port)
}
MitigationTool *-- StateManager
MitigationTool *-- FirewallManager
FirewallManager o-- FirewallBackend
FirewallBackend <|-- UFWBackend
FirewallBackend <|-- FirewalldBackend
FirewallBackend <|-- IptablesBackend
FirewallBackend <|-- NftablesBackend
Следующая последовательность описывает атомарную логику «захват-до-исправления»:
sequenceDiagram
participant User
participant Tool as MitigationTool
participant SM as StateManager
participant FM as FirewallManager
participant SV as ServiceManager
User->>Tool: --apply-fixes
Tool->>SM: save_state(POTENTIAL_SERVICES, firewall, port)
activate SM
SM->>SM: Capture systemd states
SM->>SM: Save to .cve_2026_32746_state.json
SM-->>Tool: State Captured
deactivate SM
Tool->>SV: remediate(active_services)
SV->>SV: stop / disable / mask
Tool->>FM: block_port(23)
FM->>FM: Apply Firewall Strategy (UFW/Firewalld/etc)
Tool-->>User: Success (Exit 0)
sudo)sudo ./telnet_mitigation_tool.py --apply-fixes
Мгновенное восстановление состояния системы из сохранённого снимка.
sudo ./telnet_mitigation_tool.py --rollback
Предварительный просмотр того, какие именно изменения выполнит откат.
sudo ./telnet_mitigation_tool.py --rollback --dry-run
telnet_mitigation_tool.py: Основной модульный механизм выполнения.test_v3_logic.py: Набор модульных тестов, поддерживающих модульные бэкенды межсетевых экранов.CHANGELOG.md: Исторические заметки о версиях..cve_2026_32746_state.json: Локальное хранилище состояния (создаётся во время устранения уязвимости).Этот проект лицензирован в соответствии с лицензией MIT — подробности см. в файле LICENSE.