CVE-2026-54786
Full vulnerability record from the local CVENow database.
Description
Wasmtime is a runtime for WebAssembly. All versions prior to 24.0.10; versions 25.0.0 through those before 36.0.11; versions 37.0.0 through those before 44.0.3; and versions 45.0.0 and 45.0.1 contain a native implementation of WASIp1 which suffers from a leak in the fd_renumber function where the file descriptor being renumbered to is not properly closed. Wasmtime's implementation erroneously only updated the table of descriptors for WASIp1 and didn't update the underlying table of descriptors used by the host. This behavior means that while fd_renumber works correctly from a guest's perspective it ends up leaking resources in the host that aren't cleaned up until the corresponding Store is destroyed. In a loop, guests can use fd_renumber to cause hosts to exhaust both resources and file descriptors. This bug only affects the native implementation of WASIp1, meaning that only runtimes which load core wasm modules and expose fd_renumber are affected. Runtimes are additionally only affected if they expose the ability to acquire a file descriptor, such as opening a file. For runtimes that deny access to files they are unaffected. This issue has been fixed in versions 24.0.10, 36.0.11, 44.0.3, and 45.0.2.
View original CVE JSON
{
"id": "CVE-2026-54786",
"sourceIdentifier": "[email protected]",
"published": "2026-07-01T21:17:03.690",
"lastModified": "2026-10-25T16:10:00.147",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Wasmtime is a runtime for WebAssembly. All versions prior to 24.0.10; versions 25.0.0 through those before 36.0.11; versions 37.0.0 through those before 44.0.3; and versions 45.0.0 and 45.0.1 contain a native implementation of WASIp1 which suffers from a leak in the fd_renumber function where the file descriptor being renumbered to is not properly closed. Wasmtime's implementation erroneously only updated the table of descriptors for WASIp1 and didn't update the underlying table of descriptors used by the host. This behavior means that while fd_renumber works correctly from a guest's perspective it ends up leaking resources in the host that aren't cleaned up until the corresponding Store is destroyed. In a loop, guests can use fd_renumber to cause hosts to exhaust both resources and file descriptors. This bug only affects the native implementation of WASIp1, meaning that only runtimes which load core wasm modules and expose fd_renumber are affected. Runtimes are additionally only affected if they expose the ability to acquire a file descriptor, such as opening a file. For runtimes that deny access to files they are unaffected. This issue has been fixed in versions 24.0.10, 36.0.11, 44.0.3, and 45.0.2."
},
{
"lang": "es",
"value": "Wasmtime es un entorno de ejecución para WebAssembly. Todas las versiones anteriores a la 24.0.10; las versiones 25.0.0 hasta las anteriores a la 36.0.11; las versiones 37.0.0 hasta las anteriores a la 44.0.3; y las versiones 45.0.0 y 45.0.1 contienen una implementación nativa de WASIp1 que sufre de una fuga en la función fd_renumber donde el descriptor de archivo al que se le cambia el número no se cierra correctamente. La implementación de Wasmtime erróneamente solo actualizó la tabla de descriptores para WASIp1 y no actualizó la tabla subyacente de descriptores utilizada por el host. Este comportamiento significa que, si bien fd_renumber funciona correctamente desde la perspectiva de un invitado, termina fugando recursos en el host que no se limpian hasta que se destruye el Store correspondiente. En un bucle, los invitados pueden usar fd_renumber para hacer que los hosts agoten tanto los recursos como los descriptores de archivo. Este error solo afecta la implementación nativa de WASIp1, lo que significa que solo los entornos de ejecución que cargan módulos wasm centrales y exponen fd_renumber se ven afectados. Los entornos de ejecución también solo se ven afectados si exponen la capacidad de adquirir un descriptor de archivo, como abrir un archivo. Para los entornos de ejecución que deniegan el acceso a archivos, no se ven afectados. Este problema ha sido solucionado en las versiones 24.0.10, 36.0.11, 44.0.3 y 45.0.2."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "bytecodealliance",
"product": "wasmtime",
"versions": [
{
"version": "< 24.0.10",
"status": "affected"
},
{
"version": ">= 25.0.0, < 36.0.11",
"status": "affected"
},
{
"version": ">= 37.0.0, < 44.0.3",
"status": "affected"
},
{
"version": ">= 45.0.0, < 45.0.2",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 2.3,
"baseSeverity": "LOW",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "LOW",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L",
"baseScore": 5.0,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.1,
"impactScore": 1.4
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-02T12:44:47.360688Z",
"id": "CVE-2026-54786",
"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-400"
},
{
"lang": "en",
"value": "CWE-772"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"versionEndExcluding": "24.0.10",
"matchCriteriaId": "630EB6DB-BA29-49A9-9FA7-E3312EEF73D5"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"versionStartIncluding": "25.0.0",
"versionEndExcluding": "36.0.11",
"matchCriteriaId": "E5F60B40-01E2-448C-BDF1-A17D2207A5C9"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"versionStartIncluding": "37.0.0",
"versionEndExcluding": "44.0.3",
"matchCriteriaId": "DF13A6A0-0A9E-4158-8A89-AC89A68E9E06"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"versionStartIncluding": "45.0.0",
"versionEndExcluding": "45.0.2",
"matchCriteriaId": "116B898A-D85E-4775-9528-A9970DD13FFF"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-3p27-qvp9-27qf",
"source": "[email protected]",
"tags": [
"Vendor Advisory"
]
}
]
}