{"id":"CVE-2025-48372","summary":"Schule Has Insecure OTP Length, is Susceptible to Brute-Force Attacks","details":"Schule is open-source school management system software. The generateOTP() function generates a 4-digit numeric One-Time Password (OTP). Prior to version 1.0.1, even if a secure random number generator is used, the short length and limited range (1000–9999) results in only 9000 possible combinations. This small keyspace makes the OTP highly vulnerable to brute-force attacks, especially in the absence of strong rate-limiting or lockout mechanisms. Version 1.0.1 fixes the issue.","aliases":["GHSA-6c48-67xx-vqgc"],"modified":"2026-08-12T03:51:30.411954694Z","published":"2025-05-22T20:38:02.463Z","database_specific":{"cwe_ids":["CWE-521"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48372.json","unresolved_ranges":[{"extracted_events":[{"fixed":"1.0.1"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"GitHub_M"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48372.json"},{"type":"ADVISORY","url":"https://github.com/schule111/Schule/security/advisories/GHSA-6c48-67xx-vqgc"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-48372"},{"type":"FIX","url":"https://github.com/schule111/Schule/commit/cd53abbea93943f2c60a5281d45bebadc57636b7"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/schule111/schule","events":[{"introduced":"0"},{"fixed":"cd53abbea93943f2c60a5281d45bebadc57636b7"}],"database_specific":{"source":"REFERENCES"}}],"versions":["schools","school"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-48372.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U"}]}