CVE Vulnerabilities

CVE-2013-4271

Deserialization of Untrusted Data

Published: Oct 10, 2013 | Modified: Apr 11, 2025
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

The default configuration of the ObjectRepresentation class in Restlet before 2.1.4 deserializes objects from untrusted sources, which allows remote attackers to execute arbitrary Java code via a serialized object, a different vulnerability than CVE-2013-4221.

Weakness

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

Affected Software

NameVendorStart VersionEnd Version
RestletRestlet*2.1.3 (including)
RestletRestlet2.1-milestone1 (including)2.1-milestone1 (including)
RestletRestlet2.1-milestone2 (including)2.1-milestone2 (including)
RestletRestlet2.1-milestone3 (including)2.1-milestone3 (including)
RestletRestlet2.1-milestone4 (including)2.1-milestone4 (including)
RestletRestlet2.1-milestone5 (including)2.1-milestone5 (including)
RestletRestlet2.1-milestone6 (including)2.1-milestone6 (including)
RestletRestlet2.1-rc1 (including)2.1-rc1 (including)
RestletRestlet2.1-rc2 (including)2.1-rc2 (including)
RestletRestlet2.1-rc3 (including)2.1-rc3 (including)
RestletRestlet2.1-rc4 (including)2.1-rc4 (including)
RestletRestlet2.1-rc5 (including)2.1-rc5 (including)
RestletRestlet2.1-rc6 (including)2.1-rc6 (including)
RestletRestlet2.1.0 (including)2.1.0 (including)
RestletRestlet2.1.1 (including)2.1.1 (including)
RestletRestlet2.1.2 (including)2.1.2 (including)
RestletUbuntuartful*
RestletUbuntubionic*
RestletUbuntucosmic*
RestletUbuntuesm-apps/bionic*
RestletUbuntuesm-apps/xenial*
RestletUbuntuquantal*
RestletUbunturaring*
RestletUbuntusaucy*
RestletUbuntutrusty*
RestletUbuntuupstream*
RestletUbuntuutopic*
RestletUbuntuvivid*
RestletUbuntuwily*
RestletUbuntuxenial*
RestletUbuntuyakkety*
RestletUbuntuzesty*

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