PT-2021-24269 · Mopa · Mopa

Published

2021-06-01

·

Updated

2022-06-17

·

CVE-2021-45695

CVSS v3.1

9.8

Critical

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions: mopa crate through 2021-06-01
Description: An issue was discovered in the mopa crate, where it incorrectly relies on Trait memory layout, possibly leading to future occurrences of arbitrary code execution or ASLR bypass. The mopa crate redefines the deprecated TraitObject struct from core::raw to implement downcasting. However, the Rust compiler explicitly reserves the right to change the memory layout of &dyn Trait for any trait Trait, which could lead to an executable location breach and compromisation of ASLR if the data and vtable are swapped. This could also theoretically allow for arbitrary code execution if reads of vtable generated by the compiler read data instead.
Recommendations: As a temporary workaround, consider avoiding the use of the mopa crate until a patch is available. At the moment, there is no information about a newer version that contains a fix for this vulnerability.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2021-45695
GHSA-2GXJ-QRP2-53JV
GHSA-8MV5-7X95-7WCF
RUSTSEC-2021-0095

Affected Products

Mopa