Astro Runtime 12 and earlier are out of maintenance and don’t include the fix. If you run Astro Runtime 12 and can’t upgrade to Astro Runtime 13 yet, use this guide to apply the same mitigation to your own image. For Astro Runtime 11 and earlier, which use Debian 11 (bullseye), see the remediation steps from the eMudhra incident site.
Upgrading is the recommended fix. Use this guide only as a temporary measure until you can upgrade. See Upgrade Astro Runtime.
Affected root certificates
Distrust both of the following roots in your image:emSign ECC Root CA - G3Comodo AAA Services root
Step 1: Update the operating system in your Dockerfile
Add the following to your project’sDockerfile, after the FROM line. Choose the tab that matches your image.
- Debian (default)
- RHEL UBI
Upgrading all packages also picks up other security fixes that have been released since your Runtime version.
<version> with your Astro Runtime version, such as 12.12.0. RHEL UBI images (-ubi9) are available for Astro Runtime 12.5 and later. See Operating system variant images.
Both examples fail the build if either root is still trusted.
Step 2: Update Python packages that bundle CA lists
Python libraries such asrequests use the certifi CA bundle instead of the operating system trust store. The pip, virtualenv, and uv packaging tools also bundle their own CA lists. Add the fixed versions to your requirements.txt file:
pip and doesn’t include uv. Adding uv is safe.
Step 3: Check for custom CA bundles
If you setREQUESTS_CA_BUNDLE, SSL_CERT_FILE, or CURL_CA_BUNDLE to a custom CA bundle, remove the two roots from that bundle as well.
Step 4: Test and deploy
- Run
astro dev restartto rebuild the image locally. - Run a Dag that connects to your key external services to confirm that TLS connections still work.
- Deploy with
astro deploy.
Next steps
Plan an upgrade to a Runtime version that includes the fix, such as Astro Runtime 3.3-10. Once you upgrade, you can revert yourDockerfile to the standard image and remove the extra steps.