CVE-2017-20285
Description
AI Translation Available
YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes.
A perl/hash:Class tag blesses a hash into the class it names. The document supplies the object's fields, and Perl calls DESTROY when it goes out of scope.
What DESTROY does depends on the classes the process has loaded. With File::Temp::Dir from core Perl, it can delete a directory tree the document names.
470
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
DraftCommon Consequences
Security Scopes Affected:
Integrity
Confidentiality
Availability
Other
Potential Impacts:
Execute Unauthorized Code Or Commands
Alter Execution Logic
Dos: Crash, Exit, Or Restart
Other
Read Application Data
Applicable Platforms
Languages:
Java, PHP, Interpreted
502
Deserialization of Untrusted Data
DraftCommon Consequences
Security Scopes Affected:
Integrity
Availability
Other
Potential Impacts:
Modify Application Data
Unexpected State
Dos: Resource Consumption (Cpu)
Varies By Context
Applicable Platforms
Languages:
Java, Ruby, PHP, Python, JavaScript
Technologies:
Not Technology-Specific, ICS/OT, AI/ML
https://github.com/ingydotnet/yaml-pm/commit/471314bbdcbd62077eea32755929122aa8…
https://github.com/ingydotnet/yaml-pm/commit/7736f38bd02e4f9f77d5468721e3be3d7b…
https://github.com/ingydotnet/yaml-pm/issues/176
https://metacpan.org/release/TINITA/YAML-1.30/changes