Unchecked Return Value
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
When return values are not checked, the program may continue execution in an error state or with incorrect data, potentially leading to security vulnerabilities.
Cómo corregir esta vulnerabilidad
Estrategias de prevención para Unchecked Return Value basadas en 2 reglas de detección de Shoulder.
Replace blank identifier _ with err and check error return values
- data, _ := ioutil.ReadFile(path) + data, err := ioutil.ReadFile(path) + if err != nil { + return fmt.Errorf("failed to read %s: %w", path, err) + } process(data)
Always check return values from critical operations like password comparison and database writes
- bcrypt.compare(req.body.password, user.passwordHash); - // Proceeds without checking the result + const isValid = await bcrypt.compare(req.body.password, user.passwordHash); + if (!isValid) { + return res.status(401).json({ error: 'Invalid credentials' }); + } const token = generateToken(user);
Encuentra vulnerabilidades en tu código
Usa Shoulder para escanear tu código en busca de patrones Unchecked Return Value. 2 reglas.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=252 # Or scan entire project npx @shoulderdev/cli trust .
Reglas de Detección (2)
Qué buscar en las revisiones de código
Estos patrones indican vulnerabilidades potenciales de Unchecked Return Value. Búscalos durante las revisiones de código y auditorías de seguridad.
Escanea tu base de código para Unchecked Return Value
Shoulder CLI encuentra patrones vulnerables en toda tu base de código.