{"api_version":"1","generated_at":"2026-04-21T15:36:25+00:00","cve":"CVE-2026-39419","urls":{"html":"https://cve.report/CVE-2026-39419","api":"https://cve.report/api/cve/CVE-2026-39419.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-39419","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-39419"},"summary":{"title":"MaxKB: Sandbox Result Validation Bypass via Tool Output Spoofing","description":"MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, an authenticated user can bypass sandbox result validation and spoof tool execution results by exploiting Python frame introspection to read the wrapper's UUID from its bytecode constants, then writing a forged result directly to file descriptor 1 (bypassing stdout redirection). By calling sys.exit(0), the attacker terminates the wrapper before it prints the legitimate output, causing the MaxKB service to parse and trust the spoofed response as the genuine tool result. This issue has been fixed in version 2.8.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-04-14 02:16:05","updated_at":"2026-04-20 17:32:17"},"problem_types":["CWE-74","CWE-290","CWE-693","CWE-74 CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')","CWE-693 CWE-693: Protection Mechanism Failure","CWE-290 CWE-290: Authentication Bypass by Spoofing"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"3.1","severity":"LOW","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","baseScore":3.1,"baseSeverity":"LOW","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"3.1","severity":"LOW","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":3.1,"baseSeverity":"LOW","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-f3c8-p474-xwfv","name":"https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-f3c8-p474-xwfv","refsource":"security-advisories@github.com","tags":["Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0","name":"https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0","refsource":"security-advisories@github.com","tags":["Release Notes"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/1Panel-dev/MaxKB/commit/38c4cfecd065293ede0437f6fa76cf0116591d25","name":"https://github.com/1Panel-dev/MaxKB/commit/38c4cfecd065293ede0437f6fa76cf0116591d25","refsource":"security-advisories@github.com","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-39419","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39419","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"1Panel-dev","product":"MaxKB","version":"affected < 2.8.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2026","cve_id":"39419","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"maxkb","cpe5":"maxkb","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"-","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"39419","cve":"CVE-2026-39419","epss":"0.000520000","percentile":"0.162970000","score_date":"2026-04-20","updated_at":"2026-04-21 00:07:47"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-39419","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-04-14T13:27:54.273791Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-04-14T13:28:04.792Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"MaxKB","vendor":"1Panel-dev","versions":[{"status":"affected","version":"< 2.8.0"}]}],"descriptions":[{"lang":"en","value":"MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, an authenticated user can bypass sandbox result validation and spoof tool execution results by exploiting Python frame introspection to read the wrapper's UUID from its bytecode constants, then writing a forged result directly to file descriptor 1 (bypassing stdout redirection). By calling sys.exit(0), the attacker terminates the wrapper before it prints the legitimate output, causing the MaxKB service to parse and trust the spoofed response as the genuine tool result. This issue has been fixed in version 2.8.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":3.1,"baseSeverity":"LOW","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-74","description":"CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-693","description":"CWE-693: Protection Mechanism Failure","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-290","description":"CWE-290: Authentication Bypass by Spoofing","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-14T01:03:40.653Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-f3c8-p474-xwfv","tags":["x_refsource_CONFIRM"],"url":"https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-f3c8-p474-xwfv"},{"name":"https://github.com/1Panel-dev/MaxKB/commit/38c4cfecd065293ede0437f6fa76cf0116591d25","tags":["x_refsource_MISC"],"url":"https://github.com/1Panel-dev/MaxKB/commit/38c4cfecd065293ede0437f6fa76cf0116591d25"},{"name":"https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0","tags":["x_refsource_MISC"],"url":"https://github.com/1Panel-dev/MaxKB/releases/tag/v2.8.0"}],"source":{"advisory":"GHSA-f3c8-p474-xwfv","discovery":"UNKNOWN"},"title":"MaxKB: Sandbox Result Validation Bypass via Tool Output Spoofing"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-39419","datePublished":"2026-04-14T01:03:40.653Z","dateReserved":"2026-04-07T00:23:30.595Z","dateUpdated":"2026-04-14T13:28:04.792Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-04-14 02:16:05","lastModifiedDate":"2026-04-20 17:32:17","problem_types":["CWE-74","CWE-290","CWE-693","CWE-74 CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')","CWE-693 CWE-693: Protection Mechanism Failure","CWE-290 CWE-290: Authentication Bypass by Spoofing"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","baseScore":3.1,"baseSeverity":"LOW","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":1.6,"impactScore":1.4}]},"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"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"39419","Ordinal":"1","Title":"MaxKB: Sandbox Result Validation Bypass via Tool Output Spoofing","CVE":"CVE-2026-39419","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"39419","Ordinal":"1","NoteData":"MaxKB is an open-source AI assistant for enterprise. In versions 2.7.1 and below, an authenticated user can bypass sandbox result validation and spoof tool execution results by exploiting Python frame introspection to read the wrapper's UUID from its bytecode constants, then writing a forged result directly to file descriptor 1 (bypassing stdout redirection). By calling sys.exit(0), the attacker terminates the wrapper before it prints the legitimate output, causing the MaxKB service to parse and trust the spoofed response as the genuine tool result. This issue has been fixed in version 2.8.0.","Type":"Description","Title":"MaxKB: Sandbox Result Validation Bypass via Tool Output Spoofing"}]}}}