Skip to content
Noroxi
CVE-2025-2817· NVD / CVE Program· CNA mozilla

Privilege escalation in Thunderbird Updater

Thunderbird's update mechanism allowed a medium-integrity user process to interfere with the SYSTEM-level updater by manipulating the file-locking behavior. By injecting code into the user-privileged process, an attacker could bypass intended access controls, allowing SYSTEM-level file operations on paths controlled by a non-privileged user and enabling privilege escalation. This vulnerability was fixed in Firefox 138, Firefox ESR 128.10, Firefox ESR 115.23, Thunderbird 138, and Thunderbird 128.10.

HighCVSS 8.8 · v3.1—No exploit Fix available
Published
Apr 29, 2025
Updated
Sep 30, 2026
EPSS
0.7% · 50th percentile
Follow this CVE

Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.

Report tools

JSON

Action score

35

Monitor

Low priority for now.

CVSS
35 / 40 · 8.8 / 10
CISA KEV
0 / 30 · Not listed
EPSS
0 / 30 · 0.7%

CISA SSVC decision

Exploitation
none
Automatable
no
Technical impact
total

Vulnrichment: CISA's decision-tree inputs.

Noroxi analysis

No Noroxi analysis for this record yet

We don't hand-write analysis for the hundreds of thousands of vulnerabilities in the database; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.

We use this product, ask for help

Affected systems

VendorProduct
mozillafirefox
mozillathunderbird

Affected versions

NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.

  • mozilla firefoxbefore 115.23.0
  • mozilla firefoxbefore 138.0
  • mozilla firefox116.0 and later · before 128.10.0
  • mozilla thunderbirdbefore 128.10.0
  • mozilla thunderbird129.0 and later · before 138.0

Versions reported by the vendor

Affected version ranges reported by the assigning authority (mozilla). Independent of NVD's CPE analysis and usually ahead of it.

  • Mozilla Firefox

    • 115.23 and later · up to and including 115.*not affected · rpm
    • 128.10 and later · up to and including 128.*not affected · rpm
    • 138 and laternot affected · rpm
  • Mozilla Thunderbird

    • 128.10 and later · up to and including 128.*not affected · rpm
    • 138 and laternot affected · rpm

Package-level exposure

OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.

EcosystemPackageAffected rangeFix
AlmaLinux:10firefoxbefore 128.10.0-1.el10_0128.10.0-1.el10_0
AlmaLinux:10thunderbirdbefore 128.10.0-1.el10_0.alma.1128.10.0-1.el10_0.alma.1
AlmaLinux:8firefoxbefore 128.10.0-1.el8_10.alma.1128.10.0-1.el8_10.alma.1
AlmaLinux:8thunderbirdbefore 128.10.0-1.el8_10.alma.1128.10.0-1.el8_10.alma.1
AlmaLinux:9firefoxbefore 128.10.0-1.el9_6.alma.1128.10.0-1.el9_6.alma.1
AlmaLinux:9firefoxbefore 128.10.0-1.el9_5.alma.1128.10.0-1.el9_5.alma.1
AlmaLinux:9firefox-x11before 128.10.0-1.el9_6.alma.1128.10.0-1.el9_6.alma.1
AlmaLinux:9firefox-x11before 128.10.0-1.el9_5.alma.1128.10.0-1.el9_5.alma.1
AlmaLinux:9thunderbirdbefore 128.10.0-1.el9_5.alma.1128.10.0-1.el9_5.alma.1
openSUSE:Tumbleweedfirefox-esrbefore 128.10.0-1.1128.10.0-1.1
openSUSE:TumbleweedMozillaFirefoxbefore 138.0-1.1138.0-1.1
openSUSE:TumbleweedMozillaThunderbirdbefore 128.10.0-1.1128.10.0-1.1
Red Hat:enterprise_linux:10.0firefoxbefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:10.0firefox-debuginfobefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:10.0firefox-debugsourcebefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:10.0thunderbirdbefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:10.0thunderbird-debuginfobefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:10.0thunderbird-debugsourcebefore 0:128.10.0-1.el10_00:128.10.0-1.el10_0
Red Hat:enterprise_linux:8::appstreamfirefoxbefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10
Red Hat:enterprise_linux:8::appstreamfirefox-debuginfobefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10
Red Hat:enterprise_linux:8::appstreamfirefox-debugsourcebefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10
Red Hat:enterprise_linux:8::appstreamthunderbirdbefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10
Red Hat:enterprise_linux:8::appstreamthunderbird-debuginfobefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10
Red Hat:enterprise_linux:8::appstreamthunderbird-debugsourcebefore 0:128.10.0-1.el8_100:128.10.0-1.el8_10

+66

Other highest-scoring records for the same primary product.

  • CVE-2010-3765Mozilla Firefox 3.5.x through 3.5.14 and 3.6.x through 3.6.11, Thunderbird 3.1.6 before 3.1.6 and 3.0.x before 3.0.10, and SeaMonkey 2.x befKEV
    94Now
  • CVE-2019-11708Insufficient vetting of parameters passed with the Prompt:Open IPC message between child and parent processes can result in the non-sandboxeKEV
    87Now
  • CVE-2015-4495The PDF reader in Mozilla Firefox before 39.0.3, Firefox ESR 38.x before 38.1.1, and Firefox OS before 2.2 allows remote attackers to bypassKEV
    86Now
  • CVE-2013-1690Mozilla Firefox before 22.0, Firefox ESR 17.x before 17.0.7, Thunderbird before 17.0.7, and Thunderbird ESR 17.x before 17.0.7 do not properKEV
    86Now
  • CVE-2019-17026Incorrect alias information in IonMonkey JIT compiler for setting array elements could lead to a type confusion.KEV
    79This week
  • CVE-2024-9680An attacker was able to achieve code execution in the content process by exploiting a use-after-free in Animation timelines.KEV
    76This week

Remediation

Which version to upgrade to

Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.

Product / packageFixed versionSource
almalinux:firefox128.10.0-1.el9_5.alma.1 · AlmaLinux:9Package registry (OSV)
almalinux:firefox-x11128.10.0-1.el9_5.alma.1 · AlmaLinux:9Package registry (OSV)
almalinux:thunderbird128.10.0-1.el9_5.alma.1 · AlmaLinux:9Package registry (OSV)
opensuse:firefox-esr128.10.0-1.1 · openSUSE:TumbleweedPackage registry (OSV)
opensuse:MozillaFirefox128.10.0-150200.152.179.1 · openSUSE:Leap 15.6Package registry (OSV)
opensuse:MozillaThunderbird128.10.0-150200.8.212.1 · openSUSE:Leap 15.6Package registry (OSV)
red hat:firefox0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:firefox-debuginfo0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:firefox-debugsource0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:firefox-x110:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:thunderbird0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:thunderbird-debuginfo0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:thunderbird-debugsource0:128.10.0-1.el9_5 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
rocky linux:firefox0:128.10.0-1.el9_5 · Rocky Linux:9Package registry (OSV)
rocky linux:thunderbird0:128.10.0-1.el9_5 · Rocky Linux:9Package registry (OSV)
suse:MozillaFirefox128.10.0-112.255.1 · SUSE:Linux Enterprise Server 12 SP5-LTSSPackage registry (OSV)
suse:MozillaFirefox128.10.0-150200.152.179.1 · SUSE:Linux Enterprise Module for Desktop Applications 15 SP6Package registry (OSV)
suse:MozillaThunderbird128.10.0-150200.8.212.1 · SUSE:Linux Enterprise Module for Package Hub 15 SP6Package registry (OSV)

Exploit status

No known public exploit

No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.

Research context

For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.

Timeline

From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.

No dated events beyond publication.

EPSS, last 120 days

FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).

Patch and commit links

Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.

No commit or PR link among the references.

Finders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.

Variant candidates

Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.

  • CVE-2023-6209525 days apartRelative URLs starting with three slashes were incorrectly parsed, and a path-traversal "/../" part in the path could be used to override th
    26Monitor

Chain candidates

An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.

  • CVE-2025-302928 days apartURL Bar Spoofing via non-BMP Unicode characters
    29Monitor
  • CVE-2025-10530140 days apartSpoofing issue in the WebAuthn component in Firefox for Android
    26Monitor
  • CVE-2025-10531140 days apartMitigation bypass in the Web Compatibility: Tooling component
    21Monitor
  • CVE-2025-2742556 days apartQR code user confirmation bypass with invalid protocol
    17Monitor

Bug bounty scope

No known public program.

Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).

Technical details

Attack conditions

  • Anyone who can reach it over the internet can trigger it.
  • A low-privileged account is enough.
  • No user action is required.
  • No special conditions are required; it is repeatable.

If successful

Confidentiality
high · data can be read
Integrity
high · data or configuration can be modified
Availability
high · the service can be disrupted
Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality impact
High
Integrity impact
High
Availability impact
High

CVSS vector

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

nvd-secondary

Root cause

A user-supplied file name is joined with the allowed directory, but the result is never checked to confirm it is still inside that directory.

A representative example of this vulnerability class. Not the vendor's source code; it shows the faulty pattern and its fix.

Vulnerable

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Fixed

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

Change log

  1. Fix✗ → ✓

For records you follow, these changes also arrive as notifications. →

References

All records