A critical privilege escalation vulnerability, dubbed ImageRunner, affecting Google Cloud's Cloud Run platform has been promptly fixed, preventing attackers from accessing sensitive information from GCP deployments. The flaw, discovered by cybersecurity company Tenable, could have enabled attackers to bypass permissions and obtain unauthorized access to container images.
The vulnerability, which was never assigned a CVE ID, was possible due to the way Cloud Run pulls images during a revision deployment process. Cloud Run uses a service agent, an automated 'worker' that handles essential operations, which has higher permissions allowing it to retrieve images from the Google Container Registry or Artifact Registry. This 'worker' has permissions that attackers could potentially use to pull private Google Artifact Registry (GAR) and Google Container Registry (GCR) images from the same account.
Private images are restricted and require authentication to access. They are used to store proprietary applications, configurations, or sensitive code. According to Liv Matan, senior security researcher at Tenable, an attacker could use this vulnerability for data theft or espionage in a real-world scenario. The attacker could use their code to inspect the contents of the private image, extract secrets stored within it, or even exfiltrate sensitive data.
The fix, rolled out to all production on January 28, requires explicit permission to access the container image(s). When using Artifact Registry, the principal (user or service account) creating or updating a Cloud Run resource now needs the Artifact Registry Reader (roles/artifactregistry.reader) IAM role on the project or repository containing the container image(s) to deploy. This update was rolled out as a "breaking change," following a Mandatory Service Announcement sent to affected Project, Folder, and Organization owners during the last week of November 2024.
Google internally fixed the issue in January 2025, and developers do not need to take any action. The fix ensures that the principal creating or updating a Cloud Run resource now needs explicit permission to access the container image(s), preventing attackers from accessing restricted container images.
The implications of this vulnerability are significant, as it could have led to privilege escalation, data theft, and espionage attacks. The fix highlights the importance of implementing robust security measures to prevent unauthorized access to sensitive information. Google's prompt response to the issue demonstrates its commitment to ensuring the security and integrity of its cloud platform.
In the context of cloud security, this vulnerability serves as a reminder of the importance of implementing least privilege access and segregation of duties. It also underscores the need for continuous monitoring and testing of cloud resources to identify and remediate vulnerabilities before they can be exploited by attackers.
As the cloud landscape continues to evolve, it is essential for cloud providers, developers, and users to prioritize security and collaborate to identify and address vulnerabilities. The fix of the ImageRunner vulnerability is a positive step in this direction, and it is crucial to maintain this momentum to ensure the security and trustworthiness of cloud platforms.