Miggo Logo

CVE-2017-6920:
Drupal PECL YAML parser unsafe object handling

9.8

CVSS Score
3.0

Basic Information

EPSS Score
0.98473%
Published
5/14/2022
Updated
4/23/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
drupal/corecomposer>= 8.0, < 8.3.48.3.4
drupal/drupalcomposer>= 8.0, < 8.3.48.3.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from Drupal's YAML parser implementation using the PECL extension. The YamlPecl::parse method directly uses yaml_parse() which by default allows PHP object deserialization. Before Drupal 8.3.4, this implementation lacked the YAML_BYTE_ESCAPED flag that prevents object deserialization. Attackers could craft malicious YAML payloads with PHP object tags that would be deserialized, enabling arbitrary code execution through PHP object injection vulnerabilities.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

*rup*l *or* * ***or* v*rsions *.*.* *llows r*mot* *tt**k*rs to *x**ut* *r*itr*ry *o** *u* to t** P**L Y*ML p*rs*r not **n*lin* P*P o*j**ts s***ly *urin* **rt*in op*r*tions.

Reasoning

T** vuln*r**ility st*ms *rom *rup*l's Y*ML p*rs*r impl*m*nt*tion usin* t** P**L *xt*nsion. T** Y*mlP**l::p*rs* m*t*o* *ir**tly us*s y*ml_p*rs*() w*i** *y ****ult *llows P*P o*j**t **s*ri*liz*tion. ***or* *rup*l *.*.*, t*is impl*m*nt*tion l**k** t** Y