{"api_version":"1","generated_at":"2026-07-23T12:38:51+00:00","cve":"CVE-2020-25016","urls":{"html":"https://cve.report/CVE-2020-25016","api":"https://cve.report/api/cve/CVE-2020-25016.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-25016","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-25016"},"summary":{"title":"CVE-2020-25016","description":"A safety violation was discovered in the rgb crate before 0.8.20 for Rust, leading to (for example) dereferencing of arbitrary pointers or disclosure of uninitialized memory. This occurs because structs can be treated as bytes for read and write operations.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2020-08-29 16:15:00","updated_at":"2021-07-21 11:39:00"},"problem_types":["CWE-119","CWE-843"],"metrics":[],"references":[{"url":"https://github.com/kornelski/rust-rgb/issues/35","name":"https://github.com/kornelski/rust-rgb/issues/35","refsource":"MISC","tags":["Exploit","Third Party Advisory"],"title":"ComponentBytes is unsound · Issue #35 · kornelski/rust-rgb · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0029.html","name":"https://rustsec.org/advisories/RUSTSEC-2020-0029.html","refsource":"MISC","tags":["Vendor Advisory"],"title":"RUSTSEC-2020-0029: rgb: Allows viewing and modifying arbitrary structs as bytes › RustSec Advisory Database","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-25016","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-25016","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2020","cve_id":"25016","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"rgb-rust_project","cpe5":"rgb-rust","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"25016","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"rgb-rust_project","cpe5":"rgb-rust","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2020-25016","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"A safety violation was discovered in the rgb crate before 0.8.20 for Rust, leading to (for example) dereferencing of arbitrary pointers or disclosure of uninitialized memory. This occurs because structs can be treated as bytes for read and write operations."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0029.html","refsource":"MISC","name":"https://rustsec.org/advisories/RUSTSEC-2020-0029.html"},{"url":"https://github.com/kornelski/rust-rgb/issues/35","refsource":"MISC","name":"https://github.com/kornelski/rust-rgb/issues/35"}]}},"nvd":{"publishedDate":"2020-08-29 16:15:00","lastModifiedDate":"2021-07-21 11:39:00","problem_types":["CWE-119","CWE-843"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL"},"exploitabilityScore":3.9,"impactScore":5.2},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:N","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"NONE","baseScore":6.4},"severity":"MEDIUM","exploitabilityScore":10,"impactScore":4.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:rgb-rust_project:rgb-rust:*:*:*:*:*:*:*:*","versionEndExcluding":"0.8.20","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"25016","Ordinal":"186426","Title":"CVE-2020-25016","CVE":"CVE-2020-25016","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"25016","Ordinal":"1","NoteData":"A safety violation was discovered in the rgb crate before 0.8.20 for Rust, leading to (for example) dereferencing of arbitrary pointers or disclosure of uninitialized memory. This occurs because structs can be treated as bytes for read and write operations.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"25016","Ordinal":"2","NoteData":"2020-08-29","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"25016","Ordinal":"3","NoteData":"2020-08-29","Type":"Other","Title":"Modified"}]}}}