Rapid7 throws JetBrains under the bus for uncoordinated vulnerability disclosure
theregister.com
theregister.com
Did JetBrains engage Rapid7 to conduct an audit? If not, I think describing this as a “violation” is a step too far: if two companies have no pre-existing relationship then there’s no reason for one of them to start complying with arbitrary policies set by the other.
If on the other hand JetBrains engaged Rapid7 to audit TeamCity and then tried to wriggle out of their contract when a vulnerability was found, then this isn’t a great look.
I’m talking about real security audits, where a researcher takes significant time to understand a codebase. Those tend to be conducted by people and firms who know what they’re doing and can be picky about who they work with. The purpose of an engagement like that is expressly to find and patch 0days, so requiring that CVD be done in a specific way is just an implementation detail.
My source for this is that I require them, and many (although certainly not all) other researchers I have talked with do as well.
> The purpose of an engagement like that is expressly to find and patch 0days, so requiring that CVD be done in a specific way is just an implementation detail.
All of the engagements I have been a part of have had NDAs and public disclosure of vulnerabilities would probably result in a lawsuit, but these have been for private companies.
> My source for this is that I require them, and many (although certainly not all) other researchers I have talked with do as well.
Do you work for an organization or just yourself?
The reason is to avoid getting dragged by Rapid 7. If you don’t play by the generally accepted community standards for coordinated vulnerability disclosure, you can expect the researchers to point that out as loudly as possible.
It’s extortion, but the alternative is going back to companies ignoring security issues and not telling users about problems.
So, I can see why Jetbrains would want these patches out ASAP without alerting hackers to the notion that there are a lot of valuable corporate targets to hack.
I guess that's why this article is titled "Rapid7 throws JetBrains under the bus ...". And their users, you could add. At least the article suggests "Exploits began within hours of the original disclosure, so patch now". Sounds like things might be getting ugly for some people out there. There might be more graceful ways to deal with this.
The only safe thing to do is for companies to be loud about which patches relevant for security and for their customers to take them quickly. All else is security-via-hopium.
> Normal users and companies need some time.
Revil doesn’t care about your patch testing.
> (2) intentionally accesses a computer without authorization or exceeds authorized access, and thereby obtains—
> (C) information from any protected computer;
and if you want to argue extortion like other comments here,
> (7) with intent to extort from any person any money or other thing of value, transmits in interstate or foreign commerce any communication containing any—
> (B) threat to obtain information from a protected computer without authorization or in excess of authorization or to impair the confidentiality of information obtained from a protected computer without authorization or by exceeding authorized access; or
https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act
--
UNLESS an entity has a program for this (by which they give permission) or you have an engagement to engage with their system (and this system), you NEVER engage. Ask anyone in security.
From a biz perspective, though, why would anyone go to R7 if there's a possibility of them disagreeing with you a throwing you under the bus?
Rapid7 is following the industry-wide best practices of coordinated vulnerability disclosure (CVD). If you don't like how they handled it, you'll have to avoid every reputable infosec company.
The article does a bad job of explaining why silent patches are bad, and a bad job at explaining the normal, industry standard, CVD process.
So yes, vendor is not great trying to silently patch but even worse is a security vendor publishing how to exploit it before the patch is made available. Surely it would be in both of their interests to coordinate the disclosure to minimize the risk to the ultimate users. As a user a silent patch is better than there being published exploit paths.
>Rapid7 spotted fresh patches for CVE-2024-27198 and CVE-2024-27199 on Monday, without a published security advisory and without telling the researchers.
It looks bad. R7 is making the other guy JB look less bad with the way they went about this. They both could have handles this better --but ultimately it looks worse for R7 from my PoV.
>At this point, we made a decision not to make a coordinated disclosure with Rapid7
>We published a blog post about the release. This blog post intentionally didn’t mention the security issues in detail
These points would have triggered Rapid7s silent patching policy, which would have sped up the entire timeline and lead to the current state of affairs. I don't consider that to be spiteful (the policy is out in the open, JB knew what they were doing and knew the consequences of not coordinating any longer), but that's just me.
Such a move is typically seen as a no-no by the infosec community,..."
As far as I am aware the majority of the infosec community would prefer to release a patch before releasing a security issue, but what do I know...
If you release a patch without disclosure there is a good chance many competent organizations will hold off applying it waiting for others to be the canary.
Releasing a patch and mentioning it fixes security issues while delaying vulnerability details is not much better - malicious actors with enough resources will figure out what has been changed and where the problem is. At the same time there will be a strong incentive to downplay the severity.
If your product's automatic update functionality can reach most users within the responsible disclosure window, that sounds like a net positive? We still learn about the vulnerability but limits the potential fallout of the disclosure.
I'm very much in-favour of the private vulnerability research and responsible disclosure, but the "no silently patching vulnerabilities" sounds more like wanting to own the press to me than actually wanting to improve people's security.
Rather than dick-swinging, it's generally an acknowledgement that large organizations move slowly and need a bit of prodding to apply patches in a timely manner.
If you're a big-and-slow company, there is a significant difference in how quickly you'll worry about applying the patch that says "here's a minor patch" and the patch that says "here's a patch for a severe vulnerability".
I have worked with several companies which simply will not update something unless they are either mandated to or it is a large enough security risk.
Read more about Rapid7s opinion on silent patching at https://www.rapid7.com/blog/post/2022/06/06/the-hidden-harm-...
- Company silently patches issue. Patches have to be applied, which can take some time if people don't know they need to apply them. Even in the case of automatic updates, patching can be delayed if it requires an app restart, for example. - Malicious actors examine patches, work out exploit, begin exploiting in the wild. - Customers left in the dark. - Company assumes that having issued patches is good enough, substantially delays disclosure.
Co-ordinated disclosure aims to prevent all of that by ensuring everyone knows about it at the same time. That removes some of the ability of threat actors to exploit and allows SOCs, EDRs, etc., to update as well, so anything unpatched gets caught. If there are workarounds or other defenses that can be implemented until patching is possible, those can be employed as well.
> Co-ordinated disclosure aims to prevent all of that by ensuring everyone knows about it at the same time
helps with this,
> Even in the case of automatic updates, patching can be delayed if it requires an app restart, for example.
Not saying they don't have a use-case. Just not sure how it's fixed.
There are always going to be situations where out of date software hangs around. This at least levels the playing field when compared to the idea of trying to silently patch something.
When you make a public security disclosure coordinated with the release of a patch to fix the issue disclosed, you alert the aforementioned organizations that there is an exploitable security vulnerability present and allow them to make an educated assessment of the comparative risks of patching immediately versus waiting and potentially being exploited.
It's not a perfect system, but transparency is the best compromise possible and allows everyone to make an educated choice. All other options have greater downsides.
The bad guys will figure out how to go about exploiting the vulnerability almost immediately after the patch releases, if they aren't already exploiting it. It makes 0 sense and protects 0 people to hold onto details after the patch is made available.
Also, how does it ever help anyone to have the details released? It only helps the researchers for PR and bad actors, never the users who need to apply the patch (and often need some time to, one can't just upgrade something out of nowhere in less than 24 hours).
It is just as applicable to closed-source as it is open-source. The people who are good at developing exploits are, unsurprisingly, good at reverse engineering and using disassemblers. It is generally trivial to figure out exactly what issues a patch is fixing if you are an experienced reverse engineer, and it's a short journey to developing an exploit once you have that knowledge.
>Also, how does it ever help anyone to have the details released?
Because the details will illuminate many potential indicators of compromise, which can be used throughout the defense stack (e.g. YARA rules, ASA rules, etc.)
If you don't disclose the vulnerability, users are potentially open to attack because you didn't tell them about a vulnerability that you knew about. If you do disclose the vulnerability, you potentially alert attackers to take advantage of a vulnerability in the short time before users can address it.
From the perspective of someone discovering a vulnerability, disclosing it is the more ethical thing to do because users should know that they are vulnerable and have the opportunity to prevent harm to themselves, even if it means making a service unavailable or degraded for a short period. If you tell them about it and they are attacked, that's on them. If you don't tell them and they are attacked, that's kind of on you.
I agree there's some grey area if there no known exploits, but a lot of times these vulnerabilities are found in response to an actual out-in-the-wild exploit.
Transparency, sure, but since when do we release CVE details before a patch? Even in open source projects, there often is only an announcement that there will be an important patch, and the writeup / CVE content is at earliest published the day after the patch is available. Giving some notice on a closed source product seems even more sensible because it's much harder to extract a vulnerability from a point release.
^1: https://www.rapid7.com/blog/post/2022/06/06/the-hidden-harm-...
^2: https://discourse.metabase.com/t/upgrade-your-metabase-insta...
^3: https://www.jetbrains.com/help/teamcity/teamcity-2023-11-4-r...
^4: https://blog.jetbrains.com/teamcity/2024/03/additional-criti...
They do not -- and the industry as a whole does not -- claim that that the best practice is to immediately reveal a vulnerability regardless of a patch.
> Rapid7 says it reported the two TeamCity vulnerabilities in mid-February, claiming JetBrains soon after suggested releasing patches for the flaws before publicly disclosing them.
> Such a move is typically seen as a no-no by the infosec community, which favors transparency, but there's apparently a time and a place for these things.
If you're pro-silent patching, you might argue that it reduces the number of people who know about a vulnerability, so publishing advisories is irresponsible.
If you're anti-silent patching, you might argue that it reveals the vulnerability to the people who monitor patches without giving any warning to the affected users that they need to patch, so not publishing advisories is irresponsible.
Maybe you're just a "minimum details" kind of person, and providing full details is irresponsible. Or maybe you're a "full details" kind of person, and restricting security professionals from accessing the information they need to do their jobs is irresponsible.
In summary, I'm irresponsible for leaving this comment and you're irresponsible for reading it.
JetBrains got cute and cut the researchers out of the loop. Now future researchers will likely treat JetBrains as a bad faith actor and proceed accordingly.
It probably was a little petty, but we don’t know what the lead up was either. You just get tired of being jerked around as a security firm when you do this a lot.
And of course to market Rapid 7.
They are angry that it was a _silent_ patch. The whole issue revolves around the _silent_ part.
More on why Rapid7 doesn't like silent patching here: https://www.rapid7.com/blog/post/2022/06/06/the-hidden-harm-...
If it is already being exploited is one reason.
A fix may not be available, but if folks know there's an attack going on, they can make a more informed choice in still whether to allow the code to run: in some cases a loss of service would be better than a compromise.
If the code is externally-facing, then they bring it down; if it is internal-only, then it may be judged that the risk is low(er) and things to be continue to be run (and a maintenance window can be pre-planned for when the fix comes out).
No. They are mad that they vulnerabilities were _silently_ fixed.
> Rapid7 says it reported the two TeamCity vulnerabilities in mid-February, claiming JetBrains soon after suggested releasing patches for the flaws before publicly disclosing them.
So JetBrains wanted to have a patch ready before disclosing the vulnerability publicly. It seems they were working on it and were working with Rapid7. I am struggling to think how it would be better for users if an unpatched vulnerability is released before a patch is available. What's the thinking here, that users will take additional precautions to secure the application while they wait for a patch?
The first sentence.
>Security shop Rapid7 is criticizing JetBrains for flouting its policy against silent patching
Why Rapid7 doesn't like silent patching can be found here: https://www.rapid7.com/blog/post/2022/06/06/the-hidden-harm-...
> Rapid7 spotted fresh patches for CVE-2024-27198 and CVE-2024-27199 on Monday, without a published security advisory and without telling the researchers.
What do you mean?
They released patches without saying they were related to a vulnerability and without notifying Rapid7. That is the textbook definition of what a silent patch is.
I'm genuinely struggling to understand what went wrong here.
Maybe this paragraph from the article makes it clear?
>Rapid7 claims that after more than a week of radio silence from JetBrains on the coordinated disclosure matter, Rapid7 spotted fresh patches for CVE-2024-27198 and CVE-2024-27199 on Monday, without a published security advisory and without telling the researchers.
That makes this whole thing fall under Rapid7's silent patching policy.
https://blog.jetbrains.com/teamcity/2024/03/our-approach-add...
And this is the part Rapid7 presumably took issue with.
>At this point, we made a decision not to make a coordinated disclosure with Rapid7
As well as
>We published a blog post about the release. This blog post intentionally didn’t mention the security issues in detail
Which is presumably the blog post that Rapid7 saw, which triggered their silent patching policy.
Although, after reading all the blog posts (from Jetrbrains, and from Rapid7), I think this is a much more standard affair than The Reg tries to spin in its article.
It's amazing to see how, time after time, the internet loves to destroy anything and anyone and utterly ignores the rest of their existence. It excels at bringing out humanity's lowest forms to the forefront.
No association other than being a happy paying customer.
I'll be adding them to my list of "companies I'll never do business with".
>Project Zero follows a 90+30 disclosure deadline policy, which means that a vendor has 90 days after Project Zero notifies them about a security vulnerability to make a patch available to users. If they make a patch available within 90 days, Project Zero will publicly disclose details of the vulnerability 30 days after the patch has been made available to users.
https://googleprojectzero.blogspot.com/p/vulnerability-discl...
Giving vendors 30 days after a fix is a much more user-friendly thing to do then releasing ready-made exploits simultaneously with a patch, isn't it?
https://www.rapid7.com/security/disclosure/
“ If the responsible organization is showing consistent good-faith effort to develop and ship an update, but cannot complete this work within 60 days, a 30-day extension may be granted at Rapid7’s sole discretion under the Default Policy (or for any of the enumerated exceptions below).”
They do this with good faith as far as I have seen. The issue as I see it is that JetBrains decided to stop communicating, eliminating the “good faith” on their end.
They are following all industry best practices, so I hope you're prepared to add every reputable infosec company onto your list.
Consider this policy by Google's Project Zero for example:
>Project Zero follows a 90+30 disclosure deadline policy, which means that a vendor has 90 days after Project Zero notifies them about a security vulnerability to make a patch available to users. If they make a patch available within 90 days, Project Zero will publicly disclose details of the vulnerability 30 days after the patch has been made available to users.
https://googleprojectzero.blogspot.com/p/vulnerability-discl...
Rapid7's "we release full details and ready-made exploits the very day vendor releases a patch" seems to be an unnecessarily aggressive take on vuln disclosure. It benefits them as a for-profit security research firm, but definitely not the users who are given no time gap to apply the patches. All while any attacker of any skill level can start using the exploit against them.
>Rapid7's "we release full details and ready-made exploits the very day vendor releases a patch"
This is not their whole policy. They have exceptions, extensions, etc. But yes, they will publicly disclose a vuln if your company decides to refuse coordinated disclosure and choose to silent patch.
They also don't release "ready-made exploits", please don't be hyperbolic. They release technical details about exploits, yes. But they aren't releasing metasploit modules or the likes...
See also from Project Zero (assuming that is your preferred vendor?):
>Any attacker with the resources and technical skills to turn a bug report into a reliable exploit chain would usually be able to build a similar exploit chain even if we had never disclosed the bug
Im like, if I do a reporting over a vuln, you can pay me. Ive been stiffed over the last 2 where a real vuln is claimed as "not a problem", and then patched.
Im looking at selling to graymarket dealers my vulns instead. At least they pay.
Are you working on this to make software more secure or is it simply about money? You can make more money if you cozy up with some criminals, where will you draw the line?
Both sides have their ethical issues, I think the company should pay but also that researchers should look quite deep into their souls if it's ethical to fuck with users because an entity they have no control over (the company) fucked up.
To me it sounds like an immature tantrum, unfortunately from my experience with security researchers it feels to be a field with quite a few rage-tantrums.
Ethics do matter, on both sides.
That's my point, these people, very real people, have nothing to do with the whole bullshit, they trusted in a 3rd party to use their product, they can't audit every single 3rd party they use for security holes, even less research themselves ways to exploit them before using their products, you are saying that it's ok for these people to suffer because Google didn't want to pay for an exploit that was discovered.
It boils down to the same question: why are the researchers doing this job? If it's because they believe they are helping make software more secure then ethically they shouldn't be putting unwitting end users into harm. If they are just looking for a paycheck then it's just morally corrupt to use users as hostages to get a ransom.
I repeat what I said: this is the ethical discussion I'd like to see happening, not this immature "they didn't pay me, so fuck all the users, I will blow it all!", that just sounds like children throwing tantrums.
Again: why do researchers do this job? Underneath that you can judge if it's ethical to just sell to the highest bidder, capitalism is amoral, we as humans imbue some sense of morality into it... This approach of "pay what the market is paying or else I will fuck your users" is, in my opinion, ethically wrong, if a researcher is serious about the job they are performing to make the world a less shit place then they need to have some moral guideline to follow, if not it's all bullshit and they are just mercenaries, and I don't support mercenaries.
Where I come from, when you say if you do X, I'll pay you Y, it's unethical and a tort NOT to pay Y if you do X.
You can do whatever contortions around 3rd parties (users). As long as the exploit vendor doesn't say they're doing anything illegal, I'm in the clear. I've had 1 vendor say that they were engaging in illegal activities, and refused to sell.
Again, some may want to auction to highest bidder. Whereas I just like to eat.
The companies are the ultimate unethical entities here, that summarily made everyone else look bad, all the while they're hitting users and saying "quit making us hit users!"
Two wrongs don't make a right.
I did agree that companies are being unethical if they don't pay, that does not give the leeway to then act unethically because of them. Again, ultimately who pays the price if an exploit that was sold is then used in the wild by bad actors are real life users.
Also, the case being discussed is not about companies not paying X, the comment I replied was talking about not paying what the highest bidder would pay, that is not the agreement for a lot of zero-day programs offered by companies trying to secure their software, they give ranges of payments depending on severity of the exploit, not a "we will pay whatever is the highest bid you can get for your exploit".
Is it guilt tripping to ask about ethical questions around infosec? That sounds to me like a thought-terminating cliche, attempting to terminate a discussion for what I believe is very clearly an ethical issue. It does have ethical ramifications, I will not stand on the side of "I will just auction to the highest bidder a potentially harmful exploit", that does not sit right with my moral code.
> As long as the exploit vendor doesn't say they're doing anything illegal, I'm in the clear. I've had 1 vendor say that they were engaging in illegal activities, and refused to sell.
What stops an exploit vendor from lying to you?
I have been screwed by 2 different companies over "proper" reporting. They came back and said I didn't qualify for bug bounties.
Then they turned around and PATCHED said bugs that didn't qualify for stated bug bounties.
The issue isn't "who's the highest bidder" but instead "who will actually pay what they say".
And frankly, the whole of infosec is full of holier-thsn-thou's and corporate scamming. I'll sell to who will pay.
(NOTE: what I type only applies to closed source and corporate websites. FLOSS gets free and discrete reports. No 0days for FLOSS. I'm just done being screwed by corporate interests who claim to pay and then screw you over.)