Incorrect Permission AssignmentWeakness · CWE-732

CVE-2024-44729

HIGH · 7.5 CVSS v3.1 Published 2024-10-11
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
84/100
Remediation priority · High
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Incorrect access control in the component app/src/server.js of Mirotalk before commit 9de226 allows unauthenticated attackers without presenter privileges to arbitrarily eject users from a meeting.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Mirotalk before commit 9de226 has an incorrect access control vulnerability in the meeting user ejection functionality within app/src/server.js. The server fails to properly validate presenter privileges before allowing user removal, enabling any unauthenticated attacker to arbitrarily eject participants from meetings.

MitigationUpdate to the version containing commit 9de226 which adds proper presenter privilege validation to the user ejection functionality.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Mirotalk installation
    Check for Mirotalk by inspecting the application directory for package.json or look for 'mirotalk' processes running on the system. Also check for the app/src/server.js file in the deployment.
    Affected if Mirotalk is present and the app/src/server.js file exists in the deployment.
  2. Determine the installed version
    Check the git log or package.json version in the Mirotalk installation directory. Run 'git log --oneline -1' to get the current commit hash, or check package.json for the version number.
    Affected if The commit hash is before 9de226, or the version is any release prior to the fix being applied.
  3. Inspect server.js for presenter privilege validation
    Open app/src/server.js and search for the user ejection functionality (look for functions related to 'eject', 'remove', or 'kick' user). Check if there is proper validation of presenter privileges before allowing user removal.
    Affected if The code lacks presenter privilege validation checks before executing user ejection, or the validation logic is missing/insufficient.
  4. Verify meeting functionality is exposed
    Check if the Mirotalk server is listening on network ports (typically port 3000 or 8080). Review server.js to confirm the meeting endpoints are accessible over the network.
    Affected if The meeting service is exposed and accessible over the network without authentication barriers.
  5. Check for the vulnerable ejection endpoint
    Review server.js to identify if there is an API endpoint or function that handles user ejection without requiring presenter-level authorization. Look for routes that handle meeting participant removal.
    Affected if The ejection functionality can be invoked without verifying that the requester has presenter privileges.

The user is affected if running a Mirotalk version before commit 9de226 where app/src/server.js lacks proper presenter privilege validation in the user ejection functionality, and the meeting service is network-accessible.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Update to the version containing commit 9de226 which adds proper presenter privilege validation to the user ejection functionality.

Recommended fix Moderate confidence

Update to any release version that includes commit 9de226, or apply the commit hash 9de226 as a patch directly

  1. Locate the Mirotalk installation and identify the current version in use
  2. Navigate to the official Mirotalk GitHub repository at github.com/miroslavpejic85/mirotalk
  3. Access the fix by reviewing commit 9de226 which addresses the permission assignment vulnerability in app/src/server.js
  4. Apply the code changes from commit 9de226 to the affected app/src/server.js file, specifically the code that enforces presenter privileges before allowing user ejection
  5. Verify the fix by testing that unauthenticated users without presenter privileges can no longer eject meeting participants
  6. Restart the Mirotalk server to ensure the patched code is active
Caveat No breaking changes documented in the vulnerability description; this is a security fix for permission validation

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation3.0 h
  • Implementation2.0 h
  • Testing3.0 h
  • Review / QA2.0 h
10.0 hours of engineering $1,770
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,832.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2024-44729 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2024-44729 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data