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…
mitre·CWE-763·Published 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.
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.
Se detectó un problema en USC iLab cereal versiones hasta 1.3.0. Emplea el almacenamiento caché de los valores de std::shared_ptr, utilizando la dirección de puntero sin procesar como un identificador único. Esto se vuelve problemático si una variable std::shared_ptr sale del alcance y es liberada, y una nueva std::shared_ptr es asignada en la misma dirección. La fidelidad de serialización se vuelve dependiente del diseño de la memoria. En resumen, no siempre puede esperarse que las variables std::shared_ptr serializadas sean serializadas de vuelta a sus valores originales. Esto puede tener muchas consecuencias, dependiendo del contexto dentro del cual se manifieste.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 2.0 | Primary | NVD | 7.5 | 10.0 | 6.4 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| 3.1 | Primary | NVD | 9.8 | 3.9 | 5.9 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |