CVE-2026-39418
Full vulnerability record from the local CVENow database.
Description
MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, sandbox network protection can be bypassed by using socket.sendto() with the MSG_FASTOPEN flag. This allows authenticated user with tool-editing permissions to reach internal services that are explicitly blocked by the sandbox's banned hosts configuration. MaxKB's sandbox uses LD_PRELOAD to hook the connect() function and block connections to banned IPs, but Linux's sendto() with the MSG_FASTOPEN flag can establish TCP connections directly through the kernel without ever calling connect(), completely bypassing the IP validation. Although sendto is listed in the syscall() wrapper, this is ineffective because glibc invokes the kernel syscall directly rather than routing through the hooked syscall() function. This issue has been fixed in version 2.8.0.
View original CVE JSON
{
"id": "CVE-2026-39418",
"sourceIdentifier": "[email protected]",
"published": "2026-04-14T01:16:04.353",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, sandbox network protection can be bypassed by using socket.sendto() with the MSG_FASTOPEN flag. This allows authenticated user with tool-editing permissions to reach internal services that are explicitly blocked by the sandbox's banned hosts configuration. MaxKB's sandbox uses LD_PRELOAD to hook the connect() function and block connections to banned IPs, but Linux's sendto() with the MSG_FASTOPEN flag can establish TCP connections directly through the kernel without ever calling connect(), completely bypassing the IP validation. Although sendto is listed in the syscall() wrapper, this is ineffective because glibc invokes the kernel syscall directly rather than routing through the hooked syscall() function. This issue has been fixed in version 2.8.0."
},
{
"lang": "es",
"value": "MaxKB es un asistente de IA de código abierto para empresas. En las versiones 2.7.1 e inferiores, la protección de red del sandbox puede ser eludida mediante el uso de socket.sendto() con la bandera MSG_FASTOPEN. Esto permite a usuarios autenticados con permisos de edición de herramientas acceder a servicios internos que están explícitamente bloqueados por la configuración de hosts prohibidos del sandbox. El sandbox de MaxKB utiliza LD_PRELOAD para interceptar la función connect() y bloquear las conexiones a IPs prohibidas, pero sendto() de Linux con la bandera MSG_FASTOPEN puede establecer conexiones TCP directamente a través del kernel sin llamar nunca a connect(), eludiendo completamente la validación de IP. Aunque sendto está listado en el wrapper de syscall(), esto es ineficaz porque glibc invoca la llamada al sistema del kernel directamente en lugar de enrutar a través de la función syscall() interceptada. Este problema ha sido solucionado en la versión 2.8.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "1Panel-dev",
"product": "MaxKB",
"versions": [
{
"version": "< 2.8.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L",
"baseScore": 5.0,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 1.6,
"impactScore": 3.4
},
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L",
"baseScore": 7.4,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.1,
"impactScore": 3.7
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-14T15:54:18.732139Z",
"id": "CVE-2026-39418",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-918"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:maxkb:maxkb:*:*:*:*:-:*:*:*",
"versionEndExcluding": "2.8.0",
"matchCriteriaId": "8BB376B6-4E9C-4801-9D33-5BF858C857D2"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/1Panel-dev/MaxKB/commit/4d06362750b15390437f1d2e4d14ec79baef8559",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-w9g4-q3gm-6q6w",
"source": "[email protected]",
"tags": [
"Vendor Advisory"
]
}
]
}