{"api_version":"1","generated_at":"2026-08-21T22:15:02+00:00","cve":"CVE-2026-41424","urls":{"html":"https://cve.report/CVE-2026-41424","api":"https://cve.report/api/cve/CVE-2026-41424.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-41424","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-41424"},"summary":{"title":"Wazuh: Privilege Escalation via Admin-Protection Bypass in update-user API Endpoint","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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-08-19 17:18:47","updated_at":"2026-08-21 20:16:34"},"problem_types":["CWE-863","CWE-863 CWE-863: Incorrect Authorization"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"8.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H","data":{"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"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.2,"baseSeverity":"HIGH","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"HIGH","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/wazuh/wazuh/releases/tag/v4.10.4","name":"https://github.com/wazuh/wazuh/releases/tag/v4.10.4","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/commit/1a38d11574c6d35a4272e1e7145d55d293e7dda4","name":"https://github.com/wazuh/wazuh/commit/1a38d11574c6d35a4272e1e7145d55d293e7dda4","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr","name":"https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/releases/tag/v4.14.6","name":"https://github.com/wazuh/wazuh/releases/tag/v4.14.6","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/pull/35469","name":"https://github.com/wazuh/wazuh/pull/35469","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/pull/35442","name":"https://github.com/wazuh/wazuh/pull/35442","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/wazuh/wazuh/commit/813add3575ecd4df484b2326715ca78f65505b4e","name":"https://github.com/wazuh/wazuh/commit/813add3575ecd4df484b2326715ca78f65505b4e","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-41424","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41424","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"wazuh","product":"wazuh","version":"affected >=4.9.0, < 4.10.4","platforms":[]},{"source":"CNA","vendor":"wazuh","product":"wazuh","version":"affected >= 4.11.0, < 4.14.6","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-41424","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-08-21T19:52:40.325415Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-08-21T19:53:07.365Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"wazuh","vendor":"wazuh","versions":[{"status":"affected","version":">=4.9.0, < 4.10.4"},{"status":"affected","version":">= 4.11.0, < 4.14.6"}]}],"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."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.2,"baseSeverity":"HIGH","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"HIGH","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-08-19T16:18:24.888Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr","tags":["x_refsource_CONFIRM"],"url":"https://github.com/wazuh/wazuh/security/advisories/GHSA-gj9h-8hmr-xjjr"},{"name":"https://github.com/wazuh/wazuh/pull/35442","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/pull/35442"},{"name":"https://github.com/wazuh/wazuh/pull/35469","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/pull/35469"},{"name":"https://github.com/wazuh/wazuh/commit/1a38d11574c6d35a4272e1e7145d55d293e7dda4","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/commit/1a38d11574c6d35a4272e1e7145d55d293e7dda4"},{"name":"https://github.com/wazuh/wazuh/commit/813add3575ecd4df484b2326715ca78f65505b4e","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/commit/813add3575ecd4df484b2326715ca78f65505b4e"},{"name":"https://github.com/wazuh/wazuh/releases/tag/v4.10.4","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/releases/tag/v4.10.4"},{"name":"https://github.com/wazuh/wazuh/releases/tag/v4.14.6","tags":["x_refsource_MISC"],"url":"https://github.com/wazuh/wazuh/releases/tag/v4.14.6"}],"source":{"advisory":"GHSA-gj9h-8hmr-xjjr","discovery":"UNKNOWN"},"title":"Wazuh: Privilege Escalation via Admin-Protection Bypass in update-user API Endpoint"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-41424","datePublished":"2026-08-19T16:18:24.888Z","dateReserved":"2026-04-20T15:32:33.814Z","dateUpdated":"2026-08-21T19:53:07.365Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-19 17:18:47","lastModifiedDate":"2026-08-21 20:16:34","problem_types":["CWE-863","CWE-863 CWE-863: Incorrect Authorization"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","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"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"41424","Ordinal":"1","Title":"Wazuh: Privilege Escalation via Admin-Protection Bypass in updat","CVE":"CVE-2026-41424","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"41424","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Wazuh: Privilege Escalation via Admin-Protection Bypass in updat"}]}}}