CVE Vulnerabilities

CVE-2021-35196

Deserialization of Untrusted Data

Published: Jun 21, 2021 | Modified: Nov 21, 2024
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.x
6.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendors position is that the product is not intended for opening an untrusted project file

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
ManuskriptTheologeek*0.12.0 (including)
ManuskriptUbuntugroovy*
ManuskriptUbuntuhirsute*
ManuskriptUbuntuimpish*
ManuskriptUbuntukinetic*
ManuskriptUbuntulunar*
ManuskriptUbuntumantic*
ManuskriptUbuntutrusty*
ManuskriptUbuntuxenial*

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References