yiisoft/yii2-authclient · Security
yii2-authclient vulnerable to possible timing attack on string comparison in OAuth1, OAuth2 and OpenID Connect implementation
- GHSA ID
- GHSA-w8vh-p74j-x9xp
- CVE ID
- CVE-2023-50708
- Severity
- low
- Published
- Updated
- CVSS
- 0 · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:N
- CVSS v3
- 0 · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:N
Description
Impact
What kind of vulnerability is it? Who is impacted?
Original Report:
The Oauth1/2 "state" and OpenID Connect "nonce" is vulnerable for a "timing attack" since it's compared via regular string comparison (instead of
Yii::$app->getSecurity()->compareString()).
Affected Code:
-
OAuth 1 "state"
-
OAuth 2 "state"
-
OpenID Connect "nonce"
Patches
Has the problem been patched? What versions should users upgrade to?
TBD: Replace strcmp with Yii::$app->getSecurity()->compareString()).
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
not as far as I see.
References
Are there any links users can visit to find out more?
CWEs
- CWE-203 · Observable Discrepancy
References
- https://github.com/yiisoft/yii2-authclient/security/advisories/GHSA-w8vh-p74j-x9xp ↗
- https://github.com/yiisoft/yii2-authclient/commit/dabddf2154ab7e7703740205a069202554089248 ↗
- https://github.com/yiisoft/yii2-authclient/blob/0d1c3880f4d79e20aa1d77c012650b54e69695ff/src/OAuth1.php#L158 ↗
- https://github.com/yiisoft/yii2-authclient/blob/0d1c3880f4d79e20aa1d77c012650b54e69695ff/src/OAuth2.php#L121 ↗
- https://github.com/yiisoft/yii2-authclient/blob/0d1c3880f4d79e20aa1d77c012650b54e69695ff/src/OpenIdConnect.php#L420 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-50708 ↗
- https://github.com/advisories/GHSA-w8vh-p74j-x9xp ↗