{"id":"CVE-2020-8904","details":"An arbitrary memory overwrite vulnerability in the trusted memory of Asylo exists in versions prior to 0.6.0. As the ecall_restore function fails to validate the range of the output_len pointer, an attacker can manipulate the tmp_output_len value and write to an arbitrary location in the trusted (enclave) memory. We recommend updating Asylo to version 0.6.0 or later.","modified":"2026-07-08T20:43:35.578510Z","published":"2020-08-12T19:15:14.593Z","references":[{"type":"FIX","url":"https://github.com/google/asylo/commit/e582f36ac49ee11a21d23ad6a30c333092e0a94e"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/google/asylo","events":[{"introduced":"0"},{"fixed":"299f804acbb95a612ab7c504d25ab908aa59ae93"},{"fixed":"e582f36ac49ee11a21d23ad6a30c333092e0a94e"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.6.0"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:google:asylo:*:*:*:*:*:*:*:*"}}],"versions":["v0.5.3","buildenv-v0.5.3","v0.5.2","buildenv-v0.5.2","v0.5.1","buildenv-v0.5.1","v0.5.0","buildenv-v0.5.0","v0.4.1","buildenv-v0.4.1","v0.4.0","buildenv-v0.4.0","v0.3.4.1","v0.3.4","buildenv-v0.3.4","v0.3.3","buildenv-v0.3.3","v0.3.2","buildenv-v0.3.2","v0.3.1","buildenv-v0.3.1","v0.3.0","buildenv-v0.3.0","v0.2.2","buildenv-v0.2.2","v0.2.1","buildenv-v0.2.1","v0.2.0","buildenv-v0.2.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-8904.json","vanir_signatures_modified":"2026-07-08T20:43:35Z","vanir_signatures":[{"signature_type":"Line","signature_version":"v1","source":"https://github.com/google/asylo/commit/e582f36ac49ee11a21d23ad6a30c333092e0a94e","target":{"file":"asylo/platform/primitives/sgx/ecalls.cc"},"deprecated":false,"digest":{"line_hashes":["232311576742852937528951488602353048356","239219903741322872622410301507378039653","98100078975615401589899147513071682994","264262808374229173759127247203979683848","168884572296058466466796399177656558076","194816803327240949914791498851530735736"],"threshold":0.9},"id":"CVE-2020-8904-231c0404"},{"source":"https://github.com/google/asylo/commit/299f804acbb95a612ab7c504d25ab908aa59ae93","target":{"file":"asylo/platform/host_call/trusted/host_calls.cc"},"deprecated":false,"digest":{"line_hashes":["206843566668820650509670967168184456061","80156147239961341313323500740088832576","199487815859305689901389025254287933562","164706716403506214144524274119973725632"],"threshold":0.9},"id":"CVE-2020-8904-6c5c34f2","signature_type":"Line","signature_version":"v1"},{"target":{"file":"asylo/platform/primitives/sgx/ecalls.cc","function":"ecall_restore"},"deprecated":false,"digest":{"function_hash":"26899445440106890895090757480789185378","length":575},"id":"CVE-2020-8904-ce65bfe1","signature_type":"Function","signature_version":"v1","source":"https://github.com/google/asylo/commit/e582f36ac49ee11a21d23ad6a30c333092e0a94e"},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/google/asylo/commit/299f804acbb95a612ab7c504d25ab908aa59ae93","target":{"file":"asylo/platform/host_call/trusted/host_calls.cc","function":"enc_untrusted_recvfrom"},"deprecated":false,"digest":{"function_hash":"14747568182961413266336135363801043561","length":1020},"id":"CVE-2020-8904-da74cbf8"}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H"}]}