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.
A 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.
A 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.
References
Configurations
No configuration.
History
06 Oct 2026, 17:17
| Type | Values Removed | Values Added |
|---|---|---|
| CVSS |
v2 : v3 : |
v2 : unknown
v3 : 7.3 |
05 Oct 2026, 19:17
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
05 Oct 2026, 07:16
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-10-05 07:16
Updated : 2026-10-06 17:17
NVD link : CVE-2019-25777
Mitre link : CVE-2019-25777
CVE.ORG link : CVE-2019-25777
JSON object : View
Products Affected
No product.
