CVE-2023-46139 Information
Description
KernelSU is a Kernel based root solution for Android. Starting in version 0.6.1 and prior to version 0.7.0 if a KernelSU installed device is infected with a malware whose app signing block specially constructed it can take over root privileges on the device. The vulnerable verification logic actually obtains the signature of the last block with an id of 0x7109871a while the verification logic during Android installation is to obtain the first one. In addition to the actual signature upgrade that has been fixed (KSU thought it was V2 but was actually V3) there is also the problem of actual signature downgrading (KSU thought it was V2 but was actually V1). Find a condition in the signature verification logic that will cause the signature not to be found error and KernelSU does not implement the same conditions so KSU thinks there is a V2 signature but the APK signature verification actually uses the V1 signature. This issue is fixed in version 0.7.0. As workarounds keep the KernelSU manager installed and avoid installing unknown apps.
Reference
https://github.com/tiann/KernelSU/blob/344c08bb79ba12b692016750cda363f9f3500182/kernel/apk_sign.c#L188 https://drive.google.com/drive/folders/1XdYCCAhC_mkt1k1IyUiwcgFsuOFvwNRl https://github.com/tiann/KernelSU/security/advisories/GHSA-86cp-3prf-pwqq https://github.com/tiann/KernelSU/blob/344c08bb79ba12b692016750cda363f9f3500182/kernel/apk_sign.c#L179C32-L179C32 https://github.com/tiann/KernelSU/commit/d24813b2c3738f2f9bd762932141cadd948c354f http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSigningBlockUtils.java#783 http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSigningBlockUtils.java#770
Share on: