<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u" -->

---
title: How to attack cloud infrastructure via a malicious pull...
description: Teleport discloses an internally discovered vulnerability where a malicious pull request from an external contributor could pivot from a Kubernetes CI worker...
canonical: https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to attack cloud infrastructure via a malicious pull request | daily.dev
og:description: Teleport discloses an internally discovered vulnerability where a malicious pull request from an external contributor could pivot from a Kubernetes CI worker...
og:url: https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u
og:image: https://api.daily.dev/og/posts/OMro54H8u.png
og:image:alt: How to attack cloud infrastructure via a malicious pull request
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to attack cloud infrastructure via a malicious pull request

**[Teleport](https://daily.dev/sources/teleport)** · 8 min read · 0 upvotes · 0 comments

## Summary

Teleport discloses an internally discovered vulnerability where a malicious pull request from an external contributor could pivot from a Kubernetes CI worker pod to the underlying node via a privileged docker-in-docker sidecar, escalate to root, and exfiltrate secrets from the Drone CI server and release pipeline. Those secrets could have exposed production AWS credentials, release artifact signing, Teleport Cloud services, and billing infrastructure. The vulnerability existed between May 2020 and April 2021; no evidence of exploitation was found. Teleport disabled forks, rebuilt its Drone cluster with node pool separation, added a fork-approval extension, rotated credentials, added reproducible builds, and issued security releases 4.4.11, 5.2.4, 6.2.12, and 7.1.1. General advice is given on vetting external CI contributions and reducing blast radius in CI systems.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://goteleport.com/blog/hack-via-pull-request>

## Questions this post answers

### How could a malicious pull request escalate from a CI job pod to root on the Kubernetes node in Teleport's Drone CI setup?

An external pull request could request that a privileged docker-in-docker (DIND) sidecar run a crafted container designed to escape Docker's sandbox, using known privileged container escape techniques to gain root on the underlying Kubernetes node. From there, secrets from co-scheduled pods, including the Drone Server pod, could be harvested by inspecting container environments.

_daily.dev surfaces writeups like this for engineers hardening CI pipelines against privileged-container escapes._

### Which Teleport versions were patched after the 2021 Drone CI pull request vulnerability?

Teleport issued security releases 4.4.11, 5.2.4, 6.2.12, and 7.1.1 to address a CI vulnerability that could expose production AWS credentials and release signing keys. The flaw existed in the Drone CI configuration between May 4, 2020 and April 22, 2021, and affected secrets were rotated by July 27, 2021.

_track vendor security releases like these on daily.dev before rolling out a Teleport upgrade._

### What CI/CD security practices reduce the blast radius of a compromised pull request build?

Vet external contributions before running CI by requiring trusted approval of untrusted code, re-verifying on every code change to avoid race conditions between approval and execution. Also separate CI job workloads from service infrastructure at both the container and machine level, since default setups like Jenkins co-locate jobs and services, and containers alone are not a strong sandbox.

_developers designing safer CI pipelines can find hands-on incident writeups like this via daily.dev._

## Similar posts on daily.dev

- ['Cordyceps': Malicious Pull Requests Threaten CI](https://daily.dev/posts/cordyceps-malicious-pull-requests-threaten-ci-x8fgokbmk) · Dark Reading · 0 upvotes · 0 comments
- [From CI/CD to Cloud Data: How Shai Hulud Persistence Leads to Redshift Breach](https://daily.dev/posts/from-ci-cd-to-cloud-data-how-shai-hulud-persistence-leads-to-redshift-breach-jmqfu4sid) · FortiGuard Threat Research · 1 upvotes · 0 comments
- [Cordyceps CI/CD Weakness Exposes Software Supply Chains to Malicious Pull Requests](https://daily.dev/posts/cordyceps-ci-cd-weakness-exposes-software-supply-chains-to-malicious-pull-requests-e3d6ua0br) · Security Boulevard · 0 upvotes · 0 comments
- [The call is coming from inside your pipeline: the anatomy of a Codecov attack](https://daily.dev/posts/the-call-is-coming-from-inside-your-pipeline-the-anatomy-of-a-codecov-attack-465ifb5s2) · The New Stack · 0 upvotes · 0 comments
- [Where DevOps Pipelines Break: Real Attack Paths in Cloud-Native CI/CD](https://daily.dev/posts/where-devops-pipelines-break-real-attack-paths-in-cloud-native-ci-cd-o483gnynt) · Cloud Native Now · 5 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#kubernetes](https://daily.dev/tags/kubernetes)

[View this post on daily.dev](https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to attack cloud infrastructure via a malicious pull request","url":"https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u"},"datePublished":"2026-08-23T12:19:12.516Z","dateModified":"2026-08-23T12:32:25.802Z","description":"Teleport discloses an internally discovered vulnerability where a malicious pull request from an external contributor could pivot from a Kubernetes CI worker...","image":"https://media.daily.dev/image/upload/s--P4t4XyoV--/f_auto/v1722860399/public/Placeholder%2001","thumbnailUrl":"https://media.daily.dev/image/upload/s--P4t4XyoV--/f_auto/v1722860399/public/Placeholder%2001","isAccessibleForFree":true,"articleSection":"Teleport","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Teleport","logo":"https://media.daily.dev/image/upload/s--Dw-Bbw6O--/c_limit,w_256/f_auto,q_auto/v1787487494/logos/teleport?_a=BAMAMicg0","url":"https://daily.dev/sources/teleport"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,kubernetes","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Teleport","item":"https://daily.dev/sources/teleport"},{"@type":"ListItem","position":3,"name":"How to attack cloud infrastructure via a malicious pull request"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-to-attack-cloud-infrastructure-via-a-malicious-pull-request-omro54h8u#faq","mainEntity":[{"@type":"Question","name":"How could a malicious pull request escalate from a CI job pod to root on the Kubernetes node in Teleport's Drone CI setup?","acceptedAnswer":{"@type":"Answer","text":"An external pull request could request that a privileged docker-in-docker (DIND) sidecar run a crafted container designed to escape Docker's sandbox, using known privileged container escape techniques to gain root on the underlying Kubernetes node. From there, secrets from co-scheduled pods, including the Drone Server pod, could be harvested by inspecting container environments. daily.dev surfaces writeups like this for engineers hardening CI pipelines against privileged-container escapes."}},{"@type":"Question","name":"Which Teleport versions were patched after the 2021 Drone CI pull request vulnerability?","acceptedAnswer":{"@type":"Answer","text":"Teleport issued security releases 4.4.11, 5.2.4, 6.2.12, and 7.1.1 to address a CI vulnerability that could expose production AWS credentials and release signing keys. The flaw existed in the Drone CI configuration between May 4, 2020 and April 22, 2021, and affected secrets were rotated by July 27, 2021. track vendor security releases like these on daily.dev before rolling out a Teleport upgrade."}},{"@type":"Question","name":"What CI/CD security practices reduce the blast radius of a compromised pull request build?","acceptedAnswer":{"@type":"Answer","text":"Vet external contributions before running CI by requiring trusted approval of untrusted code, re-verifying on every code change to avoid race conditions between approval and execution. Also separate CI job workloads from service infrastructure at both the container and machine level, since default setups like Jenkins co-locate jobs and services, and containers alone are not a strong sandbox. developers designing safer CI pipelines can find hands-on incident writeups like this via daily.dev."}}]}
```

