{"id":"CVE-2019-25777","revision":"1a9af1b1b93e4cdca8cac237e7778d00","records":[{"revision":"1a9af1b1b93e4cdca8cac237e7778d00","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2019-25777","aliases":[],"title":"YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, which can lead to arbitrary code execution","description":"YAML versions before 1.27_001 for Perl allow a loaded perl/glob document to replace any package variable, which can lead to arbitrary code execution.\n\nA perl/glob document names a package and a symbol, and supplies the value assigned to it. Nothing restricts the name, so the target can be @INC or YAML's own load options.\n\nA perl/glob document that sets $YAML::LoadCode or $YAML::UseCode turns on code loading, which is off by default, for every later Load() in the process. A perl/code document is then passed to a string eval, so an attacker who supplies two documents to separate Load() calls in one process can execute arbitrary Perl code.","state":0,"publishedAt":"2026-10-05T06:50:17.532+00:00","modifiedAt":"2026-10-06T16:58:19.261+00:00","affected":[{"ecosystem":"https://cpan.org/modules","name":"YAML","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"collectionURL\": \"https://cpan.org/modules\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"modules\": [\n                        \"YAML\"\n                    ],\n                    \"packageName\": \"YAML\",\n                    \"packageURL\": \"pkg:cpan/YAML\",\n                    \"programFiles\": [\n                        \"lib/YAML/Types.pm\"\n                    ],\n                    \"programRoutines\": [\n                        {\n                            \"name\": \"YAML::Type::glob::yaml_load\"\n                        }\n                    ],\n                    \"repo\": \"https://github.com/ingydotnet/yaml-pm\",\n                    \"versions\": [\n                        {\n                            \"lessThan\": \"1.27_001\",\n                            \"status\": \"affected\",\n                            \"version\": \"0\",\n                            \"versionType\": \"custom\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://github.com/ingydotnet/yaml-pm/issues/212","https://github.com/ingydotnet/yaml-pm/commit/bace96b5e6661d521c7c515c94a09e081c911fce.patch","https://metacpan.org/release/TINITA/YAML-1.28/changes"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2019-25777","license":"CVE Program Terms of Use","key":"cve-program:CVE-2019-25777","identifiers":["CVE-2019-25777"]},"retained":false,"historicalAffected":[]}],"coverage":[]}