Skip to main content

iTerm2 CVE-2026-88514

| EUVDEUVD-2026-94359 MEDIUM
Information Exposure (CWE-200)
2026-10-07 mitre GHSA-4mr7-8qv3-cm83
5.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain low-privileged local account on macOS host
  2. Delivery
    Pre-plant socket at /var/tmp/iTerm2.socket.<pid>
  3. Exploit
    Victim launches iTerm2 and restores session
  4. Execution
    Hand over attacker pty via SCM_RIGHTS
  5. Impact
    Capture restored terminal session contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a local, unprivileged account on the same macOS host (PR:L) - there is no remote vector. The victim must trigger iTerm2's mono-server session restoration so the client calls iTermFileDescriptorClientConnect() against a socket in the world-writable, sticky P_tmpdir (/var/tmp). The attacker must pre-create a socket with the predictable name iTerm2.socket.<pid> before the client connects and win the TOCTOU race (including predicting the child pid), then pass an attacker-controlled pty master via SCM_RIGHTS. Limiting factors that reduce realistic risk: a local account is mandatory, session restoration must occur, the pid is predictable-but-not-known in advance, the exploit is a timing race (unreliable), and it affects only iTerm2 versions before 3.6.12; the patched client rejects any peer whose euid differs from the user's.

Impact

This is a medium-severity, locally-exploitable information-disclosure flaw (CVSS 5.5, CWE-200) that is a low-to-moderate real-world priority rather than an urgent one. All low-urgency signals align: the CVSS vector is AV:L/PR:L (an authenticated local user on the same macOS host, not remote), and CISA's SSVC decision framework rates Exploitation: none, Automatable: no, Technical Impact: partial - i.e. no observed exploitation and not mass-automatable. No KEV listing and no EPSS score are present in the input, consistent with a non-widespread, targeted-access issue. The main conflict is attack complexity: the input vector asserts AC:L, but the commit evidence shows the attack is a TOCTOU socket-squatting race in world-writable /var/tmp against a predictable-but-unknown name (iTerm2.socket.<pid>) that also depends on the victim triggering session restoration - mechanics that argue for AC:H and lower reliability than AC:L implies; verify complexity against the mechanism. Data quality is weak: the CPE (cpe:2.3:a:n/a:n/a) and EUVD affected versions ('n/a n/a') are placeholders, so only the description anchors the <3.6.12 boundary. A gist is referenced and may be a PoC/writeup, but no working exploit is confirmed in structured data. Net: real but gated by local access and a race - prioritize for shared/multi-user Macs, deprioritize for single-user workstations.

Exploit ScenarioDerived

On a shared or multi-user macOS host, a low-privileged local user pre-creates a UNIX socket at /var/tmp/iTerm2.socket.<pid> before the victim's iTerm2 launches. When the victim starts iTerm2 and a session is restored, the client connects to the attacker's squatted socket, and the attacker hands over an attacker-controlled pty master via SCM_RIGHTS, man-in-the-middling the restored terminal and capturing its contents. A referenced gist (NSEcho) may contain proof-of-concept or writeup material, but no exploit is confirmed in CISA KEV; exploitation is local (AV:L) and gated by a timing race.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Information disclosure in iTerm2 for macOS before 3.6.12 allows a local, unprivileged attacker to man-in-the-middle the terminal's mono-server session-restoration handshake and obtain sensitive session data (CVSS 3.1 base 5.5, CWE-200). The flaw lives in iTermFileDescriptorClientConnect(), which connects to a predictably named rendezvous socket (iTerm2.socket.<pid>) inside the world-writable, sticky shared temp directory (/var/tmp); an attacker who pre-creates that socket and wins a timing race can pass an attacker-controlled pty master back to the client via SCM_RIGHTS and read/interpose the restored session. Exploitation requires a local account on the same host, session restoration to be triggered, pid prediction and a race to be won, which is why this is a low-to-moderate priority rather than an urgent one; no public exploit has been identified at time of analysis and CISA SSVC records Exploitation: none, Automatable: no, Technical Impact: partial (the flaw is not in CISA KEV). The vendor fix is included in iTerm2 3.6.12.

RemediationAI

Vendor-released patch: upgrade iTerm2 to 3.6.12 or later - the fix is present in upstream commit 1260814ac9c12aeb3a5cbfb26d00c72ff9e79327 and the vulnerable code path is closed in builds at or above 3.6.12; verify the installed version via iTerm2 > About iTerm2 and update through the app's built-in updater or the official release page. Until upgrade is possible, the most effective compensating control is to break the exploit precondition rather than rely on path inspection: disable session restoration (Preferences > General > 'Restore sessions after restart' / avoid 'Save and restore windows and sessions'), because the vulnerable connect() only runs during mono-server restoration - the trade-off is the loss of automatic session/window restoration for that user. Because the attack requires a local account on the same macOS host, restrict shell access and avoid running untrusted processes or other users' accounts on machines where iTerm2 is used interactively; this is a deployment-hygiene control with no product-side side effects but limited value on multi-user workstations. Note that the newly added lstat() ownership/non-socket check is explicitly documented upstream as a cheap early reject only and is TOCTOU-racy, so downgrades or back-ports that reproduce only the lstat() check without the getpeereid() peer-credential validation should be treated as unfixed. Defensive monitoring can flag the pre-creation step by watching /var/tmp for socket files named iTerm2.socket.* whose owning uid differs from the legitimate user; this generates noise where iTerm2 already legitimately creates these sockets, so alerts should key on foreign ownership only. No vendor-published workaround beyond updating is referenced in the supplied advisories (https://nvd.nist.gov/vuln/detail/CVE-2026-88514).

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

iTerm2 uses a 'mono-server' architecture in which a client process reconnects to an existing server instance during session restoration by way of a UNIX domain socket rendezvous. That socket is created under P_tmpdir (/var/tmp) - a world-writable, sticky directory - with the predictable name iTerm2.socket.<pid>. Because the path is predictable and the directory is writable by any local uid, an attacker can pre-create a socket at that name before the client launches, then act as the peer: the client connects, and the attacker sends a file descriptor (an attacker-controlled pty master) over the connection using SCM_RIGHTS, letting them interpose on the 'restored' session and expose session content. The root cause class is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), with the underlying mechanism being a path-based trust decision subject to a TOCTOU race (CWE-367) - the fix commit explicitly notes that its added lstat() check is 'inherently TOCTOU with the connect() that follows' and is only an early reject, not a security boundary. The authoritative defense added upstream is a getpeereid() check performed after connect(): the kernel reports the credentials of the peer on the established connection, so the client can reject before it recvmsg()s the SCM_RIGHTS fd regardless of what the pathname resolved to. The patch also refuses to connect when the path is not a socket or is owned by a different euid, setting ENOTSOCK/EPERM for clearer diagnostics. Note that the getpeereid() check does not defend against a same-uid process, which is not considered a security boundary on macOS. The supplied CPE data is a placeholder (cpe:2.3:a:n/a:n/a) and EUVD lists no discrete version identifiers, so version scoping must come from the advisory text: all iTerm2 releases before 3.6.12 on macOS.

Know when macOS gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.7 MEDIUM

Local same-host account needed (PR:L); exploitation is a TOCTOU socket-squatting race on a predictable pid name (AC:H); it discloses terminal session contents (C:H) and is scoped as information disclosure, so I:N/A:N.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Oct 07, 2026 - 21:23 NVD
5.5 (None) 5.5 (MEDIUM)
CVE Published
Oct 07, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 07, 2026 - 00:00 cve.org
MEDIUM 5.5

DescriptionCVE.org

An issue in iTerm2 macOS before 3.6.12 allows a local attacker to obtain sensitive information.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
popular third-party macOS terminal, developer workstations only, not servers
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in macOS

View all
CVE-2025-34089 CRITICAL POC
9.3 Jul 03

An unauthenticated remote code execution vulnerability exists in Remote for Mac, a macOS remote control utility develope

CVE-2026-86950 HIGH POC
8.8 Sep 28

Out-of-bounds write in Apple's iOS, iPadOS, and macOS file-parsing code lets remote attackers achieve arbitrary code exe

CVE-2026-20700 HIGH POC
7.8 Feb 11

Apple's kernel across all platforms (iOS, macOS, watchOS, visionOS, tvOS) contains a memory corruption vulnerability (CV

CVE-2022-48618 HIGH
7.0 Jan 09

The issue was addressed with improved checks. Rated high severity (CVSS 7.0). Actively exploited in the wild (cisa kev)

CVE-2024-27822 HIGH POC
7.8 May 14

A logic issue was addressed with improved restrictions. Rated high severity (CVSS 7.8), this vulnerability is no authent

CVE-2023-22809 HIGH POC
7.8 Jan 18

In Sudo before 1.9.12p2, the sudoedit (aka -e) feature mishandles extra arguments passed in the user-provided environmen

CVE-2022-46689 HIGH POC
7.0 Dec 15

A race condition was addressed with additional validation. Rated high severity (CVSS 7.0), this vulnerability is no auth

CVE-2022-32845 CRITICAL POC
10.0 Sep 23

This issue was addressed with improved checks. Rated critical severity (CVSS 10.0), this vulnerability is remotely explo

CVE-2021-44790 CRITICAL POC
9.8 Dec 20

A carefully crafted request body can cause a buffer overflow in the mod_lua multipart parser (r:parsebody() called from

CVE-2025-52841 HIGH POC
8.8 Jul 02

Cross-Site Request Forgery (CSRF) vulnerability in Laundry on Linux, MacOS allows to perform an Account Takeover. This i

CVE-2022-3970 HIGH POC
8.8 Nov 13

A vulnerability was found in LibTIFF. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, no aut

CVE-2022-0729 HIGH POC
8.8 Feb 23

Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 8.2.4440. Rated high severity (CVSS 8.8), this

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy