---
id: CVE-2026-81031
title: >-
  IDURAR ERP CRM changes the password of whichever account a request names
  rather than the account making the request
summary: >-
  IDURAR ERP CRM changes the password of whichever account a request names
  rather than the account making the request. The update handler in
  backend/src/controllers/middlewaresControllers/createUserController/updatePassword.js
  resolves the…
severity: high
cvss: 7.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-639
published: '2026-08-26'
updated: '2026-08-29'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81031'
references:
  - url: 'https://github.com/idurar/idurar-erp-crm'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/idurar/idurar-erp-crm/blob/4.1.0/backend/src/controllers/middlewaresControllers/createUserController/updatePassword.js
    label: disclosure@vulncheck.com
  - url: 'https://github.com/idurar/idurar-erp-crm/issues/1470'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/idurar-erp-crm-through-4.1.1-account-takeover-via-unverified-identifier-on-password-update
    label: disclosure@vulncheck.com
  - url: 'https://github.com/idurar/idurar-erp-crm/issues/1470'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00314
epssPercentile: 0.24505
ingestedAt: '2026-08-29T21:42:34.710Z'
---

## Overview

IDURAR ERP CRM changes the password of whichever account a request names rather than the account making the request. The update handler in backend/src/controllers/middlewaresControllers/createUserController/updatePassword.js resolves the authenticated user from the request that the token middleware populated, then issues its update against a filter built from the identifier in the URL path, and never compares the two. The route is mounted behind the administrator token check only, so any valid administrator session is sufficient, and the sole ownership-like guard in the handler rejects a single hardcoded demo address. A caller can therefore set an arbitrary password on any other administrator account and sign in as it. The read handler in the same controller directory accepts an identifier the same way, which supplies the identifiers needed to pick a target.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
