{"id":"CVE-2025-47951","aliases":["EUVD-2025-18400","GHSA-57jg-m997-cx3q","PYSEC-2026-2039"],"status":"published","title":"Weblate lacks rate limiting when verifying second factor","description":"Weblate is a web based localization tool. Prior to version 5.12, the verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. This issue has been patched in version 5.12.","severity":{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00265,"percentile":0.18516,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-307"],"published":"2025-06-16T14:52:53Z","modified":"2026-10-28T02:30:35Z","fixes":[{"ecosystem":"PyPI","package":"weblate","fixed_in":["5.12"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.12"}]}]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.12"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.12"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]}],"products":[{"vendor":"weblate","product":"weblate"},{"vendor":"weblateorg","product":"weblate"}],"references":[{"url":"https://github.com/WeblateOrg/weblate/security/advisories/GHSA-57jg-m997-cx3q","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/WeblateOrg/weblate/pull/14918","tags":["x_refsource_MISC","Issue Tracking","fix","web"]},{"url":"https://github.com/WeblateOrg/weblate/commit/f806293451248c5d95e45b3b507e9d158bc4f384","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://hackerone.com/reports/3150564","tags":["x_refsource_MISC","Permissions Required","web"]},{"url":"https://github.com/WeblateOrg/weblate/releases/tag/weblate-5.12.1","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-47951","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-57jg-m997-cx3q","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/47xxx/CVE-2025-47951.json","tags":["advisory"]},{"url":"https://github.com/WeblateOrg/weblate","tags":["package"]},{"url":"https://pypi.org/project/weblate","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-47951","title":"Weblate lacks rate limiting when verifying second factor","description":"Weblate is a web based localization tool. Prior to version 5.12, the verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. This issue has been patched in version 5.12.","status":"published","published":"2025-06-16T20:57:52.509Z","modified":"2025-06-17T18:52:13.582Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-307"],"updated_at":"2026-11-02T14:32:25.982948Z"}],"euvd":[{"id":"EUVD-2025-18400","description":"Weblate is a web based localization tool. Prior to version 5.12, the verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. This issue has been patched in version 5.12.","status":"published","published":"2025-06-16T20:57:52Z","modified":"2025-06-17T18:52:13Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:32:22.334611Z"}],"ghsa":[{"id":"GHSA-57jg-m997-cx3q","title":"Weblate lacks rate limiting when verifying second factor","description":"### Impact\n\nThe verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. \n\n### Patches\n\nThis issue has been addressed in Weblate 5.12 via https://github.com/WeblateOrg/weblate/pull/14918.\n\n### References\n\nThanks to [obscuredeer](https://hackerone.com/obscuredeer) for reporting this [issue at HackerOne](https://hackerone.com/reports/3150564).","status":"published","published":"2025-06-16T14:52:53Z","modified":"2025-06-17T17:16:11Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-307"],"updated_at":"2026-11-02T14:38:47.835488Z"}],"nvd":[{"id":"CVE-2025-47951","description":"Weblate is a web based localization tool. Prior to version 5.12, the verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. This issue has been patched in version 5.12.","status":"published","published":"2025-06-16T21:15:24.01Z","modified":"2026-06-17T09:28:53.437Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-307"],"updated_at":"2026-11-02T14:11:13.247441Z"}],"osv":[{"id":"CVE-2025-47951","title":"Weblate lacks rate limiting when verifying second factor","description":"Weblate is a web based localization tool. Prior to version 5.12, the verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. This issue has been patched in version 5.12.","status":"published","published":"2025-06-16T20:57:52.509Z","modified":"2026-10-28T02:30:35.659044688Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-307"],"updated_at":"2026-11-02T15:44:50.037003Z"},{"id":"GHSA-57jg-m997-cx3q","title":"Weblate lacks rate limiting when verifying second factor","description":"### Impact\n\nThe verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. \n\n### Patches\n\nThis issue has been addressed in Weblate 5.12 via https://github.com/WeblateOrg/weblate/pull/14918.\n\n### References\n\nThanks to [obscuredeer](https://hackerone.com/obscuredeer) for reporting this [issue at HackerOne](https://hackerone.com/reports/3150564).","status":"published","published":"2025-06-16T14:52:53Z","modified":"2026-09-10T03:50:24.898250056Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-307"],"updated_at":"2026-11-02T15:46:37.864461Z"},{"id":"PYSEC-2026-2039","title":"Weblate lacks rate limiting when verifying second factor","description":"### Impact\n\nThe verification of the second factor was not subject to rate limiting. The absence of rate limiting on the second factor endpoint allows an attacker with valid credentials to automate OTP guessing. \n\n### Patches\n\nThis issue has been addressed in Weblate 5.12 via https://github.com/WeblateOrg/weblate/pull/14918.\n\n### References\n\nThanks to [obscuredeer](https://hackerone.com/obscuredeer) for reporting this [issue at HackerOne](https://hackerone.com/reports/3150564).","status":"published","published":"2026-07-07T16:02:55.231866Z","modified":"2026-07-07T17:47:55.587125338Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.537808Z"}]}}
