Impact
Remote code execution in case application calls unserialize()
on user input containing specially crafted string.
Patches
2.0.38
Workarounds
Add the following to BatchQueryResult.php:
public function __sleep()
{
throw new \BadMethodCallException('Cannot serialize '.__CLASS__);
}
public function __wakeup()
{
throw new \BadMethodCallException('Cannot unserialize '.__CLASS__);
}
For more information
If you have any questions or comments about this advisory, contact us through security form.
References:- https://github.com/yiisoft/yii2/security/advisories/GHSA-699q-wcff-g9mj
- https://github.com/yiisoft/yii2/commit/9abccb96d7c5ddb569f92d1a748f50ee9b3e2b99
- https://nvd.nist.gov/vuln/detail/CVE-2020-15148
- https://github.com/FriendsOfPHP/security-advisories/blob/master/yiisoft/yii2/CVE-2020-15148.yaml
- https://www.yiiframework.com/news/303/yii-2-0-38
- https://github.com/advisories/GHSA-699q-wcff-g9mj