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

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

Name Vendor Start Version End Version
Manuskript Theologeek * 0.12.0 (including)
Manuskript Ubuntu groovy *
Manuskript Ubuntu hirsute *
Manuskript Ubuntu impish *
Manuskript Ubuntu kinetic *
Manuskript Ubuntu lunar *
Manuskript Ubuntu mantic *
Manuskript Ubuntu trusty *
Manuskript Ubuntu xenial *

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