How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
research.kudelskisecurity.com
How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
1–10 of 244 posts
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#2What a bizarre world we're living in, where computers can talk about how they're being hacked while it's happening.
Also, this is pretty worrisome:
> Being quick to respond and remediate, as the CodeRabbit team was, is a critical part of addressing vulnerabilities in modern, fast-moving environments. Other vendors we contacted never responded at all, and their products are still vulnerable. [emphasis mine]
Props to the CodeRabbit team, and, uh, watch yourself out there otherwise!
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#3Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#4> While running the exploit, CodeRabbit would still review our pull request and post a comment on the GitHub PR saying that it detected a critical security risk, yet the application would happily execute our code because it wouldn’t understand that this was actually running on their production system. What a bizarre world we're living in, where computers can talk about how they're being hacked while it's happening. A…
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#5Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#6Curious what this (isolation mechanism) means if anyone knows.
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#7I did not understand something: why did CodeRabbit run external tools on external code within its own set of environment variables? Why are these variables needed for this entire tooling?
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#8I did not understand something: why did CodeRabbit run external tools on external code within its own set of environment variables? Why are these variables needed for this entire tooling?
So this researcher may have gotten lucky in choosing to dig into the tool that CodeRabbit got unlucky in forgetting.
Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#9Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
#10> After responsibly disclosing this critical vulnerability to the CodeRabbit team, we learned from them that they had an isolation mechanism in place, but Rubocop somehow was not running inside it. Curious what this (isolation mechanism) means if anyone knows.
If they're anything like the typical web-startup "developing fast but failing faster", they probably are using docker containers for "security isolation".