---
id: "CVE-2026-70386"
kind: "vulnerability"
aliases: ["CVE-2026-70386"]
title: "OnePlus OxygenOS: any installed app gets root shell via atlasservice"
severity: "high"
cvss: 8.5
epss: 0.01221
exploited: false
status: "open"
category: "vendor"
products: []
ecosystems: []
tags: ["android", "mobile-fleet", "oneplus", "oxygenos", "vendor"]
not_affected_if: ["non-oneplus-device", "patched-oxygenos"]
published_at: "2026-10-21T09:17:07+00:00"
first_seen_at: "2026-10-23T21:57:28+00:00"
updated_at: "2026-10-25T03:00:21+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-70386", "first_seen_at": "2026-10-23T21:57:28+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-70386", "first_seen_at": "2026-10-24T13:15:54+00:00"}]
---

# OnePlus OxygenOS: any installed app gets root shell via atlasservice

OnePlus's atlasservice binder accepts events from any app without authorization, and one handler passes a caller-supplied value into a root shell command. A locally installed Android app with no permissions can run arbitrary shell commands as root (uid 0).

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the OxygenOS version under Settings > About phone; affected builds are `16.1.0` to before `16.1.10.500`, `16.0.0` to before `16.0.5.1200`, and `15.0.0` to before `15.0.0.2000`.
- Confirm the device is a OnePlus model running OxygenOS; the sources do not list specific models.

## Fix

- Update OxygenOS to `16.1.10.500`, `16.0.5.1200`, or `15.0.0.2000` or later, depending on the release line in use.
- The sources do not name a fix for devices no longer receiving updates.

## Timeline

- 2026-10-23T21:57:28+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-70386
- 2026-10-24T13:15:54+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-70386

## From the sources

Improper neutralization of special elements used in an OS command ('OS command injection') and Missing Authorization vulnerability in OnePlus OxygenOS on Android. Any locally installed Android application, with no permissions declared 
and no user interaction beyond launching it, can execute arbitrary shell
 commands as uid 0 in the u:r:dumpstate:s0 SELinux domain. Two defects 
combine: (a) OnePlus's atlasservice binder interface accepts 
setEvent(String8 name, String8 value) from any caller without 
authorization, and (b) one event handler 
(OplusAtlasLogWriter::handleEvent, matching event name 
atlas_event_multimedia_audio_dumpsys) copies the caller-supplied value 
into the system property oplus.audio.dumpinfo.type and starts the root 
init service audiodumpinfo, which passes that property value unsanitized
 to system(). This issue affects OxygenOS: from 16.1.0 before 16.1.10.500, from 16.0.0 before 16.0.5.1200, and from 15.0.0 before 15.0.0.2000.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
