---
id: CVE-2026-85749
title: >-
  MailWatch: IDOR lets any authenticated user release or delete another tenant's
  quarantined mail
summary: >-
  MailWatch for MailScanner is a web-based front-end to MailScanner. Prior to
  1.2.27, any authenticated MailWatch user, including the U/user,
  D/domain-admin, and H/host roles, can release to inbox or permanently delete
  the quarantined mail…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-566
  - CWE-639
vendor: mailwatch
product: MailWatch
affected:
  - MailWatch < 1.2.27
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-29T14:46:02.708558Z'
exploitAvailable: true
published: '2026-10-28'
updated: '2026-10-29'
sourceUpdated: '2026-10-29T14:46:47.666Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-85749'
references:
  - url: >-
      https://github.com/mailwatch/MailWatch/security/advisories/GHSA-w7v5-7g6w-87r4
    label: >-
      https://github.com/mailwatch/MailWatch/security/advisories/GHSA-w7v5-7g6w-87r4
  - url: >-
      https://github.com/mailwatch/MailWatch/commit/bc04f25eb0cec028cbd4ded9c049cfc6f663a15f
    label: >-
      https://github.com/mailwatch/MailWatch/commit/bc04f25eb0cec028cbd4ded9c049cfc6f663a15f
  - url: 'https://github.com/mailwatch/MailWatch/releases/tag/v1.2.27'
    label: 'https://github.com/mailwatch/MailWatch/releases/tag/v1.2.27'
tags:
  - cve.org
  - exploit-available
epss: 0.00287
epssPercentile: 0.21392
ingestedAt: '2026-11-01T20:00:16.946Z'
---

## Overview

MailWatch for MailScanner is a web-based front-end to MailScanner. Prior to 1.2.27, any authenticated MailWatch user, including the U/user, D/domain-admin, and H/host roles, can release to inbox or permanently delete the quarantined mail of any other user or domain by supplying an arbitrary message `id` to `mailscanner/quarantine_action.php`. The action path calls `quarantine_list_items()` in `mailscanner/functions.php`, which selects from `maillog` by the supplied identifier without the per-role `global_filter` applied by listing and read views. The action requires a valid session and CSRF token, but the caller can submit a token from the caller's own session; ownership of the requested message is never checked. Message identifiers are enumerable, allowing a low-privilege user to invoke `quarantine_release()` or `quarantine_delete()` for other users' or domains' quarantined messages, force-delivering mail held by the quarantine or permanently deleting it. This issue is fixed in version 1.2.27.

## Affected

- `MailWatch < 1.2.27`

## Remediation

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