Note:
This project will be discontinued after December 13, 2021. [more]
2020-03-30
An issue was discovered in USC iLab cereal through 1.3.0. It employs caching of std::shared_ptr values, using the raw pointer address as a unique identifier. This becomes problematic if an std::shared_ptr variable goes out of scope and is freed, and a new std::shared_ptr is allocated at the same address. Serialization fidelity thereby becomes dependent upon memory layout. In short, serialized std::shared_ptr variables cannot always be expected to serialize back into their original values. This can have any number of consequences, depending on the context within which this manifests.
Products | Cereal |
Type | Release of Invalid Pointer or Reference (CWE-763) |
First patch | - None (likely due to unavailable code) |
Links | https://github.com/USCiLab/cereal/issues/636 |