# CVE-2022-46689: Race condition in macOS

> A race condition allows an app to execute arbitrary code with kernel privileges on Apple operating systems.

- **Severity:** High 7.0 (`CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** No
- **Published:** 15 Dec 2022
- **Updated:** 21 Apr 2025
- **Also known as:** GHSA-335h-x4pf-hpc2

## What is CVE-2022-46689?

CVE-2022-46689 is a high-severity vulnerability in Apple Ipados, published on 15 Dec 2022. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

### Official description

A race condition was addressed with additional validation. This issue is fixed in tvOS 16.2, macOS Monterey 12.6.2, macOS Ventura 13.1, macOS Big Sur 11.7.2, iOS 15.7.2 and iPadOS 15.7.2, iOS 16.2 and iPadOS 16.2, watchOS 9.2. An app may be able to execute arbitrary code with kernel privileges.

Weakness: CWE-362 (Concurrent Execution using Shared Resource with Improper Synchronization)

## Which versions are affected by CVE-2022-46689?

It affects 6 products.


Products: Apple Ipados, Apple Iphone Os, Apple Macos, Apple Safari, Apple Tvos, Apple Watchos.

## How do I fix CVE-2022-46689?

No fix has been published for CVE-2022-46689 yet. Limit exposure of the affected software until one is available.

## Is CVE-2022-46689 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2022-46689 exists.

Public exploit code:

- Proof-of-concept app to overwrite fonts on iOS using CVE-2022-46689. (github_poc): https://github.com/ginsudev/WDBFontOverwrite
- Get root on macOS 13.0.1 with CVE-2022-46689 (macOS equivalent of the Dirty Cow bug), using the testcase extracted from Apple's XNU source. (github_poc): https://github.com/zhuowei/MacDirtyCowDemo
- CVE-2022-46689 (github_poc): https://github.com/straight-tamago/FileSwitcherX
- CVE-2022-46689 (github_poc): https://github.com/straight-tamago/NoCameraSound
- File Manager for CVE-2022-46689 (github_poc): https://github.com/mineek/FileManager
- CVE-2022-46689 (github_poc): https://github.com/straight-tamago/NoHomeBar

## Other vulnerabilities in Apple Ipados

- [CVE-2025-43300](https://insights.sbomify.com/CVE-2025-43300/): Apple iOS, iPadOS, and macOS Out-of-Bounds Write (critical 10.0, exploited in the wild)
- [CVE-2025-24201](https://insights.sbomify.com/CVE-2025-24201/): Apple Multiple Products WebKit Out-of-Bounds Write (critical 10.0, exploited in the wild)
- [CVE-2025-24085](https://insights.sbomify.com/CVE-2025-24085/): Apple Multiple Products Use-After-Free (critical 10.0, exploited in the wild)
- [CVE-2025-31200](https://insights.sbomify.com/CVE-2025-31200/): Apple Multiple Products Memory Corruption (critical 9.8, exploited in the wild)
- [CVE-2025-31201](https://insights.sbomify.com/CVE-2025-31201/): Apple Multiple Products Arbitrary Read and Write (critical 9.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2022-46689 and fix it if it is affected.

What it is: CVE-2022-46689 is a high-severity vulnerability in Apple Ipados, published on 15 Dec 2022. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2022-46689 exists.

Affected product: Apple Ipados. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2022-46689/ (Markdown: https://insights.sbomify.com/CVE-2022-46689/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2022-46689
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-46689
- OSV: https://osv.dev/vulnerability/CVE-2022-46689

---
From sbomify Insights: https://insights.sbomify.com/CVE-2022-46689/
Summaries are generated and may contain mistakes; the official description above is the record.
