Description
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.
Problem types
CWE-521: Weak Password Requirements
Product status
References
github.com/...Schule/security/advisories/GHSA-6c48-67xx-vqgc
github.com/...ommit/cd53abbea93943f2c60a5281d45bebadc57636b7