FreeBSD-Kernel-RCE durch kgssapi.ko Stack-Pufferüberlauf (CVE-2026-4747)

Schwachstellen-Details
Die Schwachstelle existiert in sys/rpc/rpcsec_gss/svc_rpcsec_gss.c innerhalb der Funktion svc_rpc_gss_validate(). Ein 128-Byte-Stack-Puffer (rpchdr[]) wird verwendet, um RPC-Header für die GSS-API-Signaturüberprüfung zu rekonstruieren. Nach dem Schreiben von 32 Bytes fester RPC-Header-Felder kopiert die Funktion den gesamten RPCSEC_GSS-Credential-Body (oa_length Bytes) in den verbleibenden Speicherplatz ohne Grenzprüfung.
static bool_t svc_rpc_gss_validate(...) {
int32_t rpchdr[128 / sizeof(int32_t)]; // 128 Bytes auf dem Stack
// ...
if (oa->oa_length) {
// FEHLER: Keine Grenzprüfung für oa_length!
// Nach 32 Bytes Header bleiben nur 96 Bytes in rpchdr.
// Wenn oa_length > 96, überläuft dies über rpchdr hinaus
memcpy((caddr_t)buf, oa->oa_base, oa->oa_length);
}
}
Angriffsfläche und Auswirkungen
Das anfällige Modul kgssapi.ko implementiert RPCSEC_GSS-Authentifizierung für FreeBSDs Kernel-RPC-Subsystem. Der NFS-Server-Daemon (nfsd), der auf Port 2049/TCP lauscht, verarbeitet RPC-Pakete im Kernel-Kontext und verwendet dieses Modul, wenn RPCSEC_GSS-Authentifizierung aktiviert ist. Erfolgreiche Ausnutzung führt zu Remote-Kernel-RCE mit Root-Rechten (uid 0 Reverse Shell).
Betroffene Versionen
- FreeBSD 13.5 (<p11)
- FreeBSD 14.3 (<p10)
- FreeBSD 14.4 (<p1)
- FreeBSD 15.0 (<p5)
Die Korrektur
Der Patch für FreeBSD 14.4-RELEASE-p1 fügt eine Grenzprüfung vor dem Kopieren hinzu:
if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) {
rpc_gss_log_debug("auth length %d exceeds maximum", oa->oa_length);
client->cl_state = CLIENT_STALE;
return (FALSE);
}
Stack-Layout-Analyse
Aus der Disassemblierung der Funktion befindet sich das rpchdr-Array bei [rbp-0xc0]. Der memcpy schreibt nach rpchdr + 32 = [rbp-0xa0]. Mit einem 16-Byte-Kontexthandle im Credential-Body landet die Rücksprungadresse bei Credential-Body-Byte 200, was die Kontrolle des Ausführungsflusses ermöglicht.
📖 Source: HN AI Agents
👀 Siehe auch

OpenObscure: Open-Source On-Device Privacy-Firewall für KI-Agenten
OpenObscure ist eine Open-Source-Datenschutz-Firewall auf dem Gerät, die zwischen KI-Agenten und LLM-Anbietern sitzt. Sie verwendet FF1-Format-Erhaltende Verschlüsselung mit AES-256, um PII-Werte zu verschlüsseln, bevor Anfragen Ihr Gerät verlassen, wodurch die Datenstruktur erhalten bleibt und die Privatsphäre geschützt wird.

mcp-scan: Sicherheitsscanner für MCP-Serverkonfigurationen
mcp-scan überprüft MCP-Server-Konfigurationen auf Sicherheitsprobleme, einschließlich Geheimnissen in Konfigurationsdateien, bekannten Schwachstellen in Paketen, verdächtigen Berechtigungsmustern, Exfiltrationsvektoren und Tool-Poisoning-Angriffen. Es erkennt automatisch Konfigurationen für Claude Desktop, Cursor, VS Code, Windsurf und 6 weitere AI-Clients.

Declawed: Ein fortschrittlicher gemeinschaftsgetriebener Malware-Scanner für ClawHub SKILL.md-Dateien
Declawed ist ein Sicherheitstool zum Scannen von SKILL.md-Dateien auf ClawHub, das Prompt-Injection, bösartige Inhalte und Informationsstealer erkennt, und dabei auf von der Community entwickelte Regelsets zurückgreift.

OpenClaw SOC-Agenten-Integration für SIEM-Home-Lab-Bedrohungsjagd
Ein Reddit-Nutzer teilt sein Open-Source-SIEM-Setup namens Red Threat Redemption auf Debian 13, das Elasticsearch, Kibana, Wazuh, Zeek und pfSense mit Suricata integriert und dann einen KI-Agenten für automatisierte Bedrohungskorrelation, -jagd und -alarmpriorisierung hinzufügt.