Google Fixes GCP Composer Flaw That May’ve Led to Distant Code Execution

Sep 16, 2024Ravie LakshmananCloud Safety / Vulnerability

Google Fixes GCP Composer Flaw That May’ve Led to Distant Code Execution

A now-patched crucial safety flaw impacting Google Cloud Platform (GCP) Composer might have been exploited to realize distant code execution on cloud servers via a provide chain assault approach known as dependency confusion.

The vulnerability has been codenamed CloudImposer by Tenable Analysis.

“The vulnerability might have allowed an attacker to hijack an inside software program dependency that Google pre-installs on every Google Cloud Composer pipeline-orchestration software,” safety researcher Liv Matan stated in a report shared with The Hacker Information.

Dependency confusion (aka substitution assault), which was first documented by safety researcher Alex Birsan in February 2021, refers to a sort of software program provide chain compromise through which a bundle supervisor is tricked into pulling a malicious bundle from a public repository as an alternative of the meant file of the identical title from an inside repository.

Cybersecurity

So, a menace actor might stage a large-scale provide chain assault by publishing a counterfeit bundle to a public bundle repository with the identical title as a bundle internally developed by firms and with a better model quantity.

This, in flip, causes the bundle supervisor to unknowingly obtain the malicious bundle from the general public repository as an alternative of the non-public repository, successfully changing the present bundle dependency with its rogue counterpart.

The issue recognized by Tenable is analogous in that it may very well be abused to add a malicious bundle to the Python Bundle Index (PyPI) repository with the title “google-cloud-datacatalog-lineage-producer-client,” which might then be preinstalled on all Composer situations with elevated permissions.

Whereas Cloud Composer requires that the bundle in query is version-pinned (i.e., model 0.1.0), Tenable discovered that utilizing the “–extra-index-url” argument throughout a “pip set up” command prioritizes fetching the bundle from the general public registry, thereby opening the door to dependency confusion.

Armed with this privilege, attackers might execute code, exfiltrate service account credentials, and transfer laterally within the sufferer’s atmosphere to different GCP companies.

Following accountable disclosure on January 18, 2024, it was mounted by Google in Might 2024 by guaranteeing that the bundle is barely put in from a non-public repository. It has additionally added the additional precaution of verifying the bundle’s checksum with a view to verify its integrity and validate that it has not been tampered with.

The Python Packaging Authority (PyPA) is alleged to have been conscious of the dangers posed by the “–extra-index-url” argument since a minimum of March 2018, urging customers to skip utilizing PyPI in circumstances the place the interior bundle must be pulled.

Cybersecurity

“Packages are anticipated to be distinctive as much as title and model, so two wheels with the identical bundle title and model are handled as indistinguishable by pip,” a PyPA member famous on the time. “This can be a deliberate function of the bundle metadata, and never more likely to change.”

Google, as a part of its repair, now additionally recommends that builders use the “–index-url” argument as an alternative of the “–extra-index-url” argument and that GCP clients make use of an Artifact Registry digital repository when requiring a number of repositories.

“The ‘–index-url’ argument reduces the chance of dependency confusion assaults by solely trying to find packages within the registry that was outlined as a given worth for that argument,” Matan stated.

Discovered this text fascinating? Comply with us on Twitter and LinkedIn to learn extra unique content material we put up.


Leave a Reply

Your email address will not be published. Required fields are marked *