Skip to content

Latest commit

 

History

History
48 lines (46 loc) · 2.04 KB

ALEPH-2017008.md

File metadata and controls

48 lines (46 loc) · 2.04 KB
layout credit timeline cve alephid date severity title product vulnerable
vuln
roeeh
type date
report
2017-01-26
type date
add
2017-03-01
type date
cve-assign
2017-02-10
type date
cve-request
2017-02-09
type date arg
deadline-extension-offer
2017-04-09
no reply
type date
deadline
2017-04-26
type date
deadline-extension
2017-05-10
type date
release
2017-05-11
CVE-2017-5948
ALEPH-2017008
2017-05-11
critical
OnePlus OTA Downgrade Vulnerability
OnePlus 3T
OnePlus 3
OnePlus 2
OnePlus X
OnePlus One
All OnePlus OxygenOS & HydrogenOS OTAs

OnePlus OxygenOS & HydrogenOS are vulnerable to downgrade attacks. This is due to lenient updater-script in the OnePlus OTAs which does not check that the current version is lower than or equal to the given image's (see below the 4.0.0 updater-script). Downgrades can occur even on locked bootloaders & without triggering a factory reset, allowing for exploitation of now-patched vulnerabilities with access to user data. This vulnerability can be exploited by a Man-in-the-Middle (MiTM) attacker targeting the update process. This is possible because the update transaction does not occur over TLS. In addition, a physical attacker can reboot the phone into recovery, and then use adb sideload to push the OTA (on OnePlus 3/3T 'Secure Start-up' must be off).

getprop("ro.display.series") == "OnePlus 3T" || abort("E3004: This package is for \"OnePlus 3T\" devices; this is a \"" + getprop("ro.display.series") + "\".");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
show_progress(0.050000, 10);
[...]

PoC can be found here.