Security1 publisher3 min readPublished Updated
Two flaws OnePlus confirmed in May still let a no-permission app root the OnePlus 15
Researcher Rasmus Moorats published a two-flaw root chain for the OnePlus 15 on September 24, 127 days after OnePlus confirmed it and with no fix shipped. Until a patch lands, owners of affected OnePlus and OPPO phones can defend only by keeping untrusted apps off them.
The Watch · Security desk

What happened
- Rasmus Moorats chained two bugs in OnePlus's own services so a malicious app with no special permissions gets root on a stock OnePlus 15 running current OxygenOS.
- OnePlus confirmed both bugs in May and told Moorats they also affect many more OnePlus and OPPO devices, without saying which ones.
- The same reply argued that European cybersecurity rules bar researchers from disclosing a flaw without the maker's consent and warned of legal liability if he published.
- Moorats published on September 24 with no fix, no CVE and no OnePlus advisory naming the flaws in place.
- There is no evidence the chain has been used in a real attack, and it only works once a malicious app is installed and running on the phone.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- exposure Owners cannot check whether they are in scope. OnePlus says more of its own and OPPO's models share the bugs but has not listed them, and on those phones a malicious app takes system-level control with no prompt.
- constraint With no CVE or advisory, patch-tracking and compliance tools have no identifier to flag. For fleets on OxygenOS, restricting which apps can be installed is the only control until a fix ships.
- precedent If OnePlus's reading of European rules held, a vendor could keep a confirmed root bug private past an agreed date and bar full write-ups even after patching. Moorats published anyway, so any legal follow-through will test that reading.
- decision Two separate no-permission-to-root chains in maker-added Android code have surfaced within two months. Anyone choosing Android hardware for a fleet has to weigh each vendor's own code and its record of answering researchers.
The entry point is AtlasService, a OnePlus service that gathers debugging data and runs as root [4]. It accepts calls from any app and does not check who is calling [4]. A crafted call reaches a OnePlus debugging tool that drops the app's text, unchecked, into a system command [5]. The app then has root, but only inside dumpstate, a restricted system zone that cannot do everything root normally can [5].
The second bug lifts that limit. A hardware helper OnePlus ships, olc2, has a command that executes any shell instruction it receives [6]. Its only guard is that the caller must already be root, and the first bug provides that [6]. The instruction then runs in a zone that grants all low-level Linux privileges, including the ability to load kernel code [7].
The attacker's only hurdle is getting the app onto the phone [8]. Once it is running it needs no permissions and shows the owner no prompt, and Moorats's test phone was stock [8]. He also confirmed the chain on an older OnePlus 12 Pro and expects it to work across OxygenOS 16 generally [9]. OnePlus's scope warning covered OPPO because the two brands build their phones on shared software [17]. Until a fix ships, the practical defense is installing apps only from trusted sources [11].
Moorats reported both bugs on April 18 [1]. The May 20 confirmation said a fix was scheduled [2][20]. On June 22 OnePlus sent an update on the fix and asked him to hold off, and he agreed not to publish before September 17 [3]. His requests for updates on July 20 and September 11 got no reply [4]. He published on September 24, 159 days after his report and seven days past the date he had agreed to [5][1][3].
The legal position arrived in that same May 20 message, which Moorats has published in full [3][20]. In it, OnePlus claimed "the exclusive final right of vulnerability disclosure" [13]. Researchers, it said, may not publish full technical details on their own even after a fix ships [14]. If he went ahead without permission, the company warned, it would "pursue relevant legal liabilities in accordance with applicable laws" [16]. The Hacker News report describes the basis only as European cybersecurity rules and does not name a specific regulation [15].
Both bugs are in OnePlus's own software [1]. Maker-added code was also the target in August [18]. Lukas Maar of the security firm Calif used a different technique to take a no-permission app to root on locked phones from Samsung, Xiaomi, OPPO, OnePlus and Realme, all on their latest firmware [18]. In 2025, Rapid7 reported a separate OxygenOS flaw that let any app read a user's texts, and said OnePlus did not respond until the research was public [19].
What to watch
- Whether OnePlus ships an OxygenOS fix, assigns a CVE, and publishes an advisory listing the affected OnePlus and OPPO models.
- Whether OnePlus acts on its warning to pursue legal liabilities against Moorats after the September 24 publication.
- Whether other Android makers start citing European rules to claim control over when researchers can disclose.