stoatchat before 0.15.5 fails to enforce account-level attempt limits on MFA login challenges, allowing attackers who know a password to guess TOTP codes with only IP-based rate limiting. Attackers can reuse MFA challenge tickets across multiple failed attempts and distribute guesses across IP addresses to bypass rate limiting and gain account access.
stoatchat before 0.15.5 MFA Brute Force via Insufficient Rate Limiting
Problem type
Affected products
stoatchat
< 0.15.5 - AFFECTED
0.15.5 - UNAFFECTED
References
https://github.com/stoatchat/stoatchat/security/advisories/GHSA-6877-g673-f5r8
https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-mfa-brute-force-via-insufficient-rate-limiting
GitHub Security Advisories
GHSA-qgwf-mjq4-r7pg
stoatchat before 0.15.5 fails to enforce account-level attempt limits on MFA login challenges,...
https://github.com/advisories/GHSA-qgwf-mjq4-r7pgstoatchat before 0.15.5 fails to enforce account-level attempt limits on MFA login challenges, allowing attackers who know a password to guess TOTP codes with only IP-based rate limiting. Attackers can reuse MFA challenge tickets across multiple failed attempts and distribute guesses across IP addresses to bypass rate limiting and gain account access.
https://github.com/stoatchat/stoatchat/security/advisories/GHSA-6877-g673-f5r8
https://nvd.nist.gov/vuln/detail/CVE-2026-100678
https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-mfa-brute-force-via-insufficient-rate-limiting
https://github.com/advisories/GHSA-qgwf-mjq4-r7pg
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-100678Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-100678",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-26T13:23:40.935Z",
"dateReserved": "2026-09-26T02:36:51.809Z",
"datePublished": "2026-09-26T13:23:40.935Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-26T13:23:40.935Z"
},
"datePublic": "2026-09-11T00:00:00.000Z",
"title": "stoatchat before 0.15.5 MFA Brute Force via Insufficient Rate Limiting",
"descriptions": [
{
"lang": "en",
"value": "stoatchat before 0.15.5 fails to enforce account-level attempt limits on MFA login challenges, allowing attackers who know a password to guess TOTP codes with only IP-based rate limiting. Attackers can reuse MFA challenge tickets across multiple failed attempts and distribute guesses across IP addresses to bypass rate limiting and gain account access."
}
],
"affected": [
{
"vendor": "stoatchat",
"product": "stoatchat",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThan": "0.15.5"
},
{
"version": "0.15.5",
"status": "unaffected",
"versionType": "semver"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Improper Restriction of Excessive Authentication Attempts",
"cweId": "CWE-307",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/stoatchat/stoatchat/security/advisories/GHSA-6877-g673-f5r8",
"name": "GitHub Security Advisory (GHSA-6877-g673-f5r8)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-mfa-brute-force-via-insufficient-rate-limiting",
"name": "VulnCheck Advisory: stoatchat before 0.15.5 MFA Brute Force via Insufficient Rate Limiting",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "LOW",
"availabilityImpact": "NONE",
"baseScore": 6.5,
"baseSeverity": "MEDIUM"
}
}
],
"credits": [
{
"lang": "en",
"value": "QuentinRa",
"type": "reporter"
}
]
}
}
}