{"id":"GHSA-5j8w-r7g8-5472","aliases":["RUSTSEC-2022-0012"],"status":"published","title":"Arrow2 allows double free in `safe` code","description":"The struct `Ffi_ArrowArray` implements `#derive(Clone)` that is inconsistent with\nits custom implementation of `Drop`, resulting in a double free when cloned.\n\nCloning this struct in `safe` results in a segmentation fault, which is unsound.\n\nThis derive was removed from this struct. All users are advised to either:\n* bump the patch version of this crate (for versions `v0.7,v0.8,v0.9`), or\n* migrate to a more recent version of  the crate (when using `\u003c0.7`).\n\nDoing so elimitates this vulnerability (code no longer compiles).","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-415"],"published":"2022-03-04T12:00:00Z","modified":"2023-11-08T04:15:47Z","fixes":[{"ecosystem":"crates.io","package":"arrow2","fixed_in":["0.7.1","0.8.2","0.9.2","0.10.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.8.0"},{"fixed":"0.8.2"}]}]},{"source":"ghsa","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.9.0"},{"fixed":"0.9.2"}]}]},{"source":"osv","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.7.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"SEMVER","events":[{"introduced":"0.8.0"},{"fixed":"0.8.2"}]}]},{"source":"osv","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"SEMVER","events":[{"introduced":"0.9.0"},{"fixed":"0.9.2"}]}]},{"source":"osv","ecosystem":"crates.io","package":"arrow2","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.7.1"},{"introduced":"0.8.0"},{"fixed":"0.8.2"},{"introduced":"0.9.0"},{"fixed":"0.9.2"},{"introduced":"0.10.0"},{"fixed":"0.10.0"}]}]}],"references":[{"url":"https://github.com/jorgecarleitao/arrow2/issues/880","tags":["web","report"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2022-0012.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-5j8w-r7g8-5472"},{"url":"https://github.com/jorgecarleitao/arrow2","tags":["package"]},{"url":"https://crates.io/crates/arrow2","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-5j8w-r7g8-5472","title":"Arrow2 allows double free in `safe` code","description":"The struct `Ffi_ArrowArray` implements `#derive(Clone)` that is inconsistent with\nits custom implementation of `Drop`, resulting in a double free when cloned.\n\nCloning this struct in `safe` results in a segmentation fault, which is unsound.\n\nThis derive was removed from this struct. All users are advised to either:\n* bump the patch version of this crate (for versions `v0.7,v0.8,v0.9`), or\n* migrate to a more recent version of  the crate (when using `\u003c0.7`).\n\nDoing so elimitates this vulnerability (code no longer compiles).\n","status":"published","published":"2022-06-16T23:42:08Z","modified":"2023-01-12T05:01:00Z","cwes":["CWE-415"],"updated_at":"2026-11-02T14:36:13.23016Z"}],"osv":[{"id":"GHSA-5j8w-r7g8-5472","title":"Arrow2 allows double free in `safe` code","description":"The struct `Ffi_ArrowArray` implements `#derive(Clone)` that is inconsistent with\nits custom implementation of `Drop`, resulting in a double free when cloned.\n\nCloning this struct in `safe` results in a segmentation fault, which is unsound.\n\nThis derive was removed from this struct. All users are advised to either:\n* bump the patch version of this crate (for versions `v0.7,v0.8,v0.9`), or\n* migrate to a more recent version of  the crate (when using `\u003c0.7`).\n\nDoing so elimitates this vulnerability (code no longer compiles).\n","status":"published","published":"2022-06-16T23:42:08Z","modified":"2023-11-08T04:15:47.037496Z","cwes":["CWE-415"],"updated_at":"2026-11-02T15:46:38.553953Z"},{"id":"RUSTSEC-2022-0012","title":"Arrow2 allows double free in `safe` code","description":"The struct `Ffi_ArrowArray` implements `#derive(Clone)` that is inconsistent with\nits custom implementation of `Drop`, resulting in a double free when cloned.\n\nCloning this struct in `safe` results in a segmentation fault, which is unsound.\n\nThis derive was removed from this struct. All users are advised to either:\n* bump the patch version of this crate (for versions `v0.7,v0.8,v0.9`), or\n* migrate to a more recent version of  the crate (when using `\u003c0.7`).\n\nDoing so elimitates this vulnerability (code no longer compiles).","status":"published","published":"2022-03-04T12:00:00Z","modified":"2023-11-08T04:15:47.037496Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
