Security Flaws in Adobe Acrobat Reader
Yuebin Sun (tweet, MacRumors):
Today, Adobe Acrobat Reader DC for macOS patched three critical vulnerabilities […] I reported. The only requirement needed to trigger the vulnerabilities is that Adobe Acrobat Reader DC has been installed. A normal user on macOS(with SIP enabled) can locally exploit this vulnerabilities chain to elevate privilege to the ROOT without a user being aware.
[…]
SMJobBlessHelper
is based onNSXPC
, its client checking exists in[SMJobBlessHelper listener:shouldAcceptNewConnection:]
. The checking logic is as pseudo-code shows below, gets the client’s PID, and then obtains Bundle ID based on the client’s process path, the client will be trusted if its Bundle ID is “com.adobe.ARMDC”.[…]
Yes, the symlink is still valid, it can help us to bypass temp directory protection. I can force /var/folders/zz/xxxxx/T/download/ARMDCHammer to link to anywhere.
[…]
So if we can replace the “/tmp/test/hello_root” with our malicious file after validateBinary, launchARMHammer will launch our malicious process.
You may think the race condition window is too narrow to control, I will show the tricks later.
I don’t like it when third-party code uses the name of a system class or function as a prefix.
Previously: