{"resultsPerPage":1,"startIndex":0,"totalResults":1,"format":"NVD_CVE","version":"2.0","timestamp":"2026-04-20T00:50:24.419","vulnerabilities":[{"cve":{"id":"CVE-2023-6245","sourceIdentifier":"6b35d637-e00f-4228-858c-b20ad6e1d07b","published":"2023-12-08T15:15:08.233","lastModified":"2024-11-21T08:43:27.050","vulnStatus":"Modified","cveTags":[],"descriptions":[{"lang":"en","value":"The Candid library causes a Denial of Service while \nparsing a specially crafted payload with 'empty' data type. For example,\n if the payload is `record { * ; empty }` and the canister interface expects `record { * }` then the Rust candid decoder treats empty as an extra field required by the type.  The problem with the type empty is that the candid Rust library wrongly categorizes empty as a recoverable error when skipping the field and thus causing an infinite decoding loop.\n\n\nCanisters using affected versions of candid\n are exposed to denial of service by causing the decoding to run \nindefinitely until the canister traps due to reaching maximum \ninstruction limit per execution round. Repeated exposure to the payload \nwill result in degraded performance of the canister. Note: Canisters written in Motoko are unaffected.\n\n\n\n"},{"lang":"es","value":"La librería Candid provoca una denegación de servicio mientras analiza un payload especialmente manipulado con un tipo de datos \"vacío\". Por ejemplo, si el payload es `record { * ; empty }` y la interfaz del recipiente espera `record { * }`, entonces el decodificador sincero de Rust trata el vacío como un campo adicional requerido por el tipo. El problema con el tipo vacío es que la sincera librería Rust clasifica erróneamente vacío como un error recuperable al omitir el campo y, por lo tanto, provoca un bucle de decodificación infinito. Los contenedores que utilizan versiones afectadas de candid están expuestos a una denegación de servicio al hacer que la decodificación se ejecute indefinidamente hasta que el contenedor se bloquea debido a que alcanza el límite máximo de instrucciones por ronda de ejecución. La exposición repetida a el payload dará como resultado un rendimiento degradado del recipiente. Nota: Los botes escritos en Motoko no se ven afectados."}],"metrics":{"cvssMetricV31":[{"source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6},{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}]},"weaknesses":[{"source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","type":"Secondary","description":[{"lang":"en","value":"CWE-20"},{"lang":"en","value":"CWE-168"},{"lang":"en","value":"CWE-835"},{"lang":"en","value":"CWE-1288"}]},{"source":"nvd@nist.gov","type":"Primary","description":[{"lang":"en","value":"CWE-835"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:dfinity:candid:*:*:*:*:*:rust:*:*","versionStartIncluding":"0.9.0","versionEndExcluding":"0.9.10","matchCriteriaId":"F95D6602-30FA-4473-9660-F87B18A446FD"}]}]}],"references":[{"url":"https://github.com/dfinity/candid/blob/master/spec/Candid.md","source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","tags":["Product"]},{"url":"https://github.com/dfinity/candid/pull/478","source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","tags":["Patch"]},{"url":"https://github.com/dfinity/candid/security/advisories/GHSA-7787-p7x6-fq3j","source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","tags":["Patch","Third Party Advisory"]},{"url":"https://internetcomputer.org/docs/current/references/candid-ref","source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","tags":["Product"]},{"url":"https://internetcomputer.org/docs/current/references/ic-interface-spec","source":"6b35d637-e00f-4228-858c-b20ad6e1d07b","tags":["Product"]},{"url":"https://github.com/dfinity/candid/blob/master/spec/Candid.md","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Product"]},{"url":"https://github.com/dfinity/candid/pull/478","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch"]},{"url":"https://github.com/dfinity/candid/security/advisories/GHSA-7787-p7x6-fq3j","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Patch","Third Party Advisory"]},{"url":"https://internetcomputer.org/docs/current/references/candid-ref","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Product"]},{"url":"https://internetcomputer.org/docs/current/references/ic-interface-spec","source":"af854a3a-2127-422b-91ae-364da2661108","tags":["Product"]}]}}]}