{"id":"CVE-2026-39850","aliases":["CLSA-2026-1787002033","EUVD-2026-31190","GHSA-5vpg-rj7q-qpw2"],"status":"published","title":"Yii 2: Local file inclusion via view parameter name collision","description":"Yii 2 is a PHP application framework. Versions 2.0.54 and prior contain flawed logic in the core view rendering method View::renderPhpFile() that leads to Local File Inclusion. The function calls extract($_params_, EXTR_OVERWRITE) before the require statement that loads the view file. As a result, a caller-controlled _file_ key in the $params array overwrites the internal local variable specifying which file to include, potentially enabling RCE if an attacker can write PHP files through a separate primitive, as well as information disclosure. This issue has been fixed in version 2.0.55.","severity":{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00455,"percentile":0.39968,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-98"],"published":"2026-05-11T19:34:28Z","modified":"2026-10-28T02:30:46Z","fixes":[{"ecosystem":"Packagist","package":"yiisoft/yii2","fixed_in":["2.0.55"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Packagist","package":"yiisoft/yii2-dev","fixed_in":["2.0.54-p1+tuxcare"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"yiisoft/yii2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.55"}]}]},{"source":"osv","ecosystem":"TuxCare:Packagist","package":"yiisoft/yii2-dev","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.54"},{"fixed":"2.0.54-p1+tuxcare"}]}],"versions":["2.0.54"]},{"source":"osv","ecosystem":"Packagist","package":"yiisoft/yii2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.55"}]}],"versions":["2.0.0","2.0.0-alpha","2.0.0-beta","2.0.0-rc","2.0.1","2.0.10","2.0.11","2.0.11.1","2.0.11.2","2.0.12","2.0.12.1","2.0.12.2","2.0.13","2.0.13.1","2.0.13.2","2.0.13.3","2.0.14","2.0.14.1","2.0.14.2","2.0.15","2.0.15.1","2.0.16","2.0.16.1","2.0.17","2.0.18","2.0.19","2.0.2","2.0.20","2.0.21","2.0.22","2.0.23","2.0.24","2.0.25","2.0.26","2.0.27","2.0.28","2.0.29","2.0.3","2.0.30","2.0.31","2.0.32","2.0.33","2.0.34","2.0.35","2.0.36","2.0.37","2.0.38","2.0.39","2.0.39.1","2.0.39.2","2.0.39.3","2.0.4","2.0.40","2.0.41","2.0.41.1","2.0.42","2.0.42.1","2.0.43","2.0.44","2.0.45","2.0.46","2.0.47","2.0.48","2.0.48.1","2.0.49","2.0.49.1","2.0.49.2","2.0.49.3","2.0.49.4","2.0.5","2.0.50","2.0.51","2.0.52","2.0.53","2.0.54","2.0.6","2.0.7","2.0.8","2.0.9"]}],"products":[{"vendor":"yiisoft","product":"yii2"}],"references":[{"url":"https://github.com/yiisoft/yii2/security/advisories/GHSA-5vpg-rj7q-qpw2","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/yiisoft/yii2/commit/109878b491dbffa541032bc99fb5e26d12cd0375","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/yiisoft/yii2/releases/tag/2.0.55","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39850","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-5vpg-rj7q-qpw2"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39850.json","tags":["advisory"]},{"url":"https://github.com/yiisoft/yii2","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-39850","title":"Yii 2: Local file inclusion via view parameter name collision","description":"Yii 2 is a PHP application framework. Versions 2.0.54 and prior contain flawed logic in the core view rendering method View::renderPhpFile() that leads to Local File Inclusion. The function calls extract($_params_, EXTR_OVERWRITE) before the require statement that loads the view file. As a result, a caller-controlled _file_ key in the $params array overwrites the internal local variable specifying which file to include, potentially enabling RCE if an attacker can write PHP files through a separate primitive, as well as information disclosure. This issue has been fixed in version 2.0.55.","status":"published","published":"2026-05-20T19:51:03.769Z","modified":"2026-05-21T13:03:41.018Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-20","CWE-98"],"updated_at":"2026-11-02T14:20:03.081354Z"}],"euvd":[{"id":"EUVD-2026-31190","description":"Yii 2 is a PHP application framework. Versions 2.0.54 and prior contain flawed logic in the core view rendering method View::renderPhpFile() that leads to Local File Inclusion. The function calls extract($_params_, EXTR_OVERWRITE) before the require statement that loads the view file. As a result, a caller-controlled _file_ key in the $params array overwrites the internal local variable specifying which file to include, potentially enabling RCE if an attacker can write PHP files through a separate primitive, as well as information disclosure. This issue has been fixed in version 2.0.55.","status":"published","published":"2026-05-20T19:51:03Z","modified":"2026-05-21T13:03:41Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T18:21:13.357667Z"}],"ghsa":[{"id":"GHSA-5vpg-rj7q-qpw2","title":"Yii 2: Local file inclusion via view parameter name collision","description":"The core view rendering method `View::renderPhpFile()` calls `extract($_params_, EXTR_OVERWRITE)` before the `require` statement that includes the view file. A caller-controlled parameter named `_file_` in the `$params` array overwrites the internal local variable that specifies which file is included — enabling a Local File Inclusion primitive.\n\n### Impact\n\n- Local File Inclusion (arbitrary file read via non-PHP files)\n- Potential RCE if attacker can write PHP files via a separate primitive\n- Information disclosure\n\n### Patches\n\n2.0.55\n\n### Workarounds\n\nNo.","status":"published","published":"2026-05-11T19:34:28Z","modified":"2026-06-08T20:14:36Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-20","CWE-98"],"updated_at":"2026-11-02T14:40:20.187636Z"}],"nvd":[{"id":"CVE-2026-39850","description":"Yii 2 is a PHP application framework. Versions 2.0.54 and prior contain flawed logic in the core view rendering method View::renderPhpFile() that leads to Local File Inclusion. The function calls extract($_params_, EXTR_OVERWRITE) before the require statement that loads the view file. As a result, a caller-controlled _file_ key in the $params array overwrites the internal local variable specifying which file to include, potentially enabling RCE if an attacker can write PHP files through a separate primitive, as well as information disclosure. This issue has been fixed in version 2.0.55.","status":"published","published":"2026-05-20T20:16:39.85Z","modified":"2026-07-23T12:10:00.11Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-20","CWE-98"],"updated_at":"2026-11-02T14:12:19.752984Z"}],"osv":[{"id":"CVE-2026-39850","title":"Yii 2: Local file inclusion via view parameter name collision","description":"Yii 2 is a PHP application framework. Versions 2.0.54 and prior contain flawed logic in the core view rendering method View::renderPhpFile() that leads to Local File Inclusion. The function calls extract($_params_, EXTR_OVERWRITE) before the require statement that loads the view file. As a result, a caller-controlled _file_ key in the $params array overwrites the internal local variable specifying which file to include, potentially enabling RCE if an attacker can write PHP files through a separate primitive, as well as information disclosure. This issue has been fixed in version 2.0.55.","status":"published","published":"2026-05-20T19:51:03.769Z","modified":"2026-10-28T02:30:46.319839387Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-20","CWE-98"],"updated_at":"2026-11-02T15:45:03.040464Z"},{"id":"GHSA-5vpg-rj7q-qpw2","title":"Yii 2: Local file inclusion via view parameter name collision","description":"The core view rendering method `View::renderPhpFile()` calls `extract($_params_, EXTR_OVERWRITE)` before the `require` statement that includes the view file. A caller-controlled parameter named `_file_` in the `$params` array overwrites the internal local variable that specifies which file is included — enabling a Local File Inclusion primitive.\n\n### Impact\n\n- Local File Inclusion (arbitrary file read via non-PHP files)\n- Potential RCE if attacker can write PHP files via a separate primitive\n- Information disclosure\n\n### Patches\n\n2.0.55\n\n### Workarounds\n\nNo.","status":"published","published":"2026-05-11T19:34:28Z","modified":"2026-09-10T03:51:04.769218547Z","cvss":[{"version":"3.1","score":7.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-20","CWE-98"],"updated_at":"2026-11-02T15:46:38.911014Z"},{"id":"CLSA-2026-1787002033","title":"TuxCare security update for yiisoft/yii2-dev (1 CVE)","description":"TuxCare rebuilt yiisoft/yii2-dev to address 1 CVE. Fixed in 2.0.54-p1+tuxcare.","status":"published","published":"2026-08-17T21:27:13Z","modified":"2026-10-15T09:47:59.634558658Z","updated_at":"2026-11-02T15:43:47.20725Z"}]}}
