CVE Vulnerabilities

CVE-2013-4271

Deserialization of Untrusted Data

Published: Oct 10, 2013 | Modified: Apr 29, 2026
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

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-legacy/xenial*
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