Command Line Tools bundled Python 3.9.6 flagged by vulnerability scanner

We need guidance regarding the Python runtime bundled with Apple Command Line Tools.

Environment: macOS Tahoe 26.5.2 (25F84) Xcode 26.6 (17F113) Device type: Mac

Command Line Tools Python path: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/ Version confirmed locally with: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3 --version Output: Python 3.9.6

Our vulnerability-management platform, Qualys, reports this Apple Command Line Tools Python runtime as vulnerable under QID 387170, referencing CVE-2022-4303 and CVE-2023-0286. The detection points to: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app

My understanding is that this runtime is bundled and managed by Apple as part of Command Line Tools, and that manually replacing or modifying this framework is not a supported remediation path. Installing a separate standalone Python version also does not remediate the finding at this Apple-managed path.

Could Apple or the community confirm the supported approach for this scenario? Specifically:

Is Python 3.9.6 intentionally bundled with the current Command Line Tools release for this macOS/Xcode version?

Has Apple applied security fixes or backports to this bundled Python runtime that are not reflected in the upstream Python version number?

Is updating Command Line Tools/Xcode the only supported remediation method for this component?

Is manually replacing or modifying the bundled Python framework unsupported?

Is there any known mitigation or official guidance for vulnerability-management exceptions while waiting for an Apple-provided update?

I have also filed this through Feedback Assistant: FB23893693.

Any official Apple guidance or reference to existing documentation would be very helpful, as we need to provide an auditable response to our internal security and audit teams.

This is a known problem with those scanning tools. A copy of Python sitting on the disk isn't an exploit risk.

Apple does sometimes update the bundled scripting tools included with Xcode, but there's no guarantee that an updated version will pass your security scans. In fact, the opposite is more likely true.

Any official Apple guidance

You’re unlikely to get official guidance here on the forums, where our primary focus is helping developers with code-level questions, not with their security audits.

I have also filed this through Feedback Assistant: FB23893693

That’s a good path for this.

Finally, I want to stress that scripting language runtimes built in to macOS have been deprecated since macOS 10.15. The runtime you’re referring too is used internally by our developers tools and appropriate for other use cases.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Just submitted FB23940030 to definitively fix this problem.

There is no reason that Apple should still be dependent on an old version of Python. Whatever Apple is using Python for could be done using Swift scripting instead.

Furthermore, using Swift would allow sysadmins direct access to the appropriate Apple APIs without resorting to fragile, cryptic solutions based on sed/awk/grep/etc.

Just submitted FB23940030

Fair enough. But just to set expectations here, LLDB is one of Apple’s core developer tools and Python is a core component of LLDB [1]. Breaking that dependency would be… tricky.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] https://lldb.llvm.org/use/python-reference.html

Fair enough. But just to set expectations here, LLDB is one of Apple’s core developer tools and Python is a core component of LLDB [1]. Breaking that dependency would be… tricky.

Don't worry. No expectations are at risk. 😄

I wasn't aware that Python is tied into LLDB. That would complicate matters. It looks like there is a flag to build LLDB without Python.

I have a big project (GDAL) that includes components with similarly deep levels of integration with Python. Removing Python takes some work, but the results are always great. Taking Python out of a project makes so many problems just evaporate into thin air.

But even if you can't remove python from LLDB, I'm still not sure that LLDB requires a standalone python interpreter. Couldn't it simply be embedded for real?

Command Line Tools bundled Python 3.9.6 flagged by vulnerability scanner
 
 
Q