CVE-2026-41424
Full vulnerability record from the local CVENow database.
Description
Wazuh is a free and open source platform used for threat prevention, detection, and response. From 4.9.0 until 4.10.4 and 4.14.6, PUT /security/users/{user_id} in api/api/controllers/security_controller.py passes request.get("user") instead of request.context['token_info']['sub'] as current_user. remove_nones_to_dict() removes the resulting None value, so the reserved-account protection in framework/wazuh/security.py cannot verify who is making the request. An authenticated user with the users_admin role can overwrite the password of protected administrator accounts with user IDs at or below 99, including the wazuh superuser, and gain full administrative control. This issue is fixed in versions 4.10.4 and 4.14.6.
View original CVE JSON
{
"id": "CVE-2026-41424",
"sourceIdentifier": "[email protected]",
"published": "2026-08-19T17:18:47.837",
"lastModified": "2026-10-26T11:10:00.157",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Wazuh is a free and open source platform used for threat prevention, detection, and response. From 4.9.0 until 4.10.4 and 4.14.6, PUT /security/users/{user_id} in api/api/controllers/security_controller.py passes request.get(\"user\") instead of request.context['token_info']['sub'] as current_user. remove_nones_to_dict() removes the resulting None value, so the reserved-account protection in framework/wazuh/security.py cannot verify who is making the request. An authenticated user with the users_admin role can overwrite the password of protected administrator accounts with user IDs at or below 99, including the wazuh superuser, and gain full administrative control. This issue is fixed in versions 4.10.4 and 4.14.6."
},
{
"lang": "es",
"value": "Wazuh es una plataforma de código abierto y gratuita utilizada para la prevención, detección y respuesta a amenazas. Desde 4.9.0 hasta 4.10.4 y 4.14.6, PUT /security/users/{user_id} en api/api/controllers/security_controller.py pasa request.get(’user’) en lugar de request.context[’token_info’][’sub’] como current_user. remove_nones_to_dict() elimina el valor None resultante, por lo que la protección de cuentas reservadas en framework/wazuh/security.py no puede verificar quién está realizando la solicitud. Un usuario autenticado con el rol users_admin puede sobrescribir la contraseña de cuentas de administrador protegidas con ID de usuario iguales o inferiores a 99, incluyendo el superusuario de wazuh, y obtener control administrativo total. Este problema está solucionado en las versiones 4.10.4 y 4.14.6."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "wazuh",
"product": "wazuh",
"versions": [
{
"version": ">=4.9.0, < 4.10.4",
"status": "affected"
},
{
"version": ">= 4.11.0, < 4.14.6",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.3,
"impactScore": 5.3
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-21T19:52:40.325415Z",
"id": "CVE-2026-41424",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-863"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:wazuh:wazuh:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9.0",
"versionEndExcluding": "4.10.4",
"matchCriteriaId": "A176B5DB-20FE-4522-942A-51A81036ED55"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:wazuh:wazuh:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.11.0",
"versionEndExcluding": "4.14.6",
"matchCriteriaId": "67FC2BDD-1040-4472-AB86-11227BC02B0E"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/wazuh/wazuh/commit/1a38d11574c6d35a4272e1e7145d55d293e7dda4",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/wazuh/wazuh/commit/813add3575ecd4df484b2326715ca78f65505b4e",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/wazuh/wazuh/pull/35442",
"source": "[email protected]",
"tags": [
"Issue Tracking",
"Patch"
]
},
{
"url": "https://github.com/wazuh/wazuh/pull/35469",
"source": "[email protected]",
"tags": [
"Issue Tracking",
"Patch"
]
},
{
"url": "https://github.com/wazuh/wazuh/releases/tag/v4.10.4",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/wazuh/wazuh/releases/tag/v4.14.6",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
},
{
"url": "https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}