Description
SnakeYaml's Constructor() class does not restrict types which can be instantiated during deserialization. Deserializing yaml content provided by an attacker can lead to remote code execution. We recommend using SnakeYaml's SafeConsturctor when parsing untrusted content to restrict deserialization. We recommend upgrading to version 2.0 and beyond.
Remediation
References
http://packetstormsecurity.com/files/175095/PyTorch-Model-Server-Registration-Deserialization-Remote-Code-Execution.html
http://www.openwall.com/lists/oss-security/2023/11/19/1
https://bitbucket.org/snakeyaml/snakeyaml/issues/561/cve-2022-1471-vulnerability-in#comment-64581479
https://confluence.atlassian.com/security/cve-2022-1471-snakeyaml-library-rce-vulnerability-in-multiple-products-1296171009.html
https://github.com/google/security-research/security/advisories/GHSA-mjmj-j48q-9wg2
https://github.com/mbechler/marshalsec
https://groups.google.com/g/kubernetes-security-announce/c/mwrakFaEdnc
https://infosecwriteups.com/%EF%B8%8F-inside-the-160-comment-fight-to-fix-snakeyamls-rce-default-1a20c5ca4d4c
https://security.netapp.com/advisory/ntap-20230818-0015/
https://security.netapp.com/advisory/ntap-20240621-0006/
https://www.github.com/mbechler/marshalsec/blob/master/marshalsec.pdf?raw=true
Related Vulnerabilities
CVE-2017-2617 Vulnerability in maven package io.hawt:hawtio-system
CVE-2022-24821 Vulnerability in maven package org.xwiki.platform:xwiki-platform-skin-skinx
CVE-2019-10754 Vulnerability in maven package org.apereo.cas:cas-server-support-oauth-core-api
CVE-2022-41946 Vulnerability in maven package org.postgresql:postgresql
CVE-2017-12158 Vulnerability in maven package org.keycloak:keycloak-server-spi-private