Alternatively: Forgejo reaches feature parity with GitHub.
What a dick that guy is.
Edit: I hate to remove comments and it may get me banned but due to the hate speech I'm receiving regarding things unrelated to software while trying to sympathize with a frustrated security researcher who got caught up in unnecessary bureaucracy when taken en masse, I'm going to remove these comments for now. This is why we volunteer FOSS engineers have to stay clear of popular projects I guess.
Forgejo has a responsible disclosure policy, but this person seems like they just don't want to deal with that and instead opted for the nuclear option immediately.
Edit: I hate to remove comments and it may get me banned but due to the hate speech I'm receiving regarding things unrelated to software while trying to sympathize with a frustrated security researcher who got caught up in unnecessary bureaucracy when taken en masse, I'm going to remove these comments for now. This is why we volunteer FOSS engineers have to stay clear of popular projects I guess.
Erm, did you read them? The policies aren't complex at all, just submit the issue (and proposed fix if there is one) through a secure channel, that they're happy to help set up. If you want to disclose the vulnerability, just wait until the embargo passes so there's time to fix and have users update. There's not really anything else you need to do here. This is pretty standard stuff that this person just seemed too lazy to participate in.
Of the three fixes submitted, only a single one was closed since it didn't seem very major and would be a breaking change (which shouldn't be made without prior discussion). The other two are still open, and a maintainer is helping to add tests for the fixes (since the author didn't add them). The only comment that was somewhat negative was that security fixes should preferably follow the established guidelines. That's all.
Yea. But did you read the security.md?
https://codeberg.org/forgejo/governance/src/branch/main/SECURITY-POLICY.md
Use an encrypted email to security@forgejo.org. If you can't, tell them and they will set one up.
Seems very assholeish to not at least do that.
I don’t think you read the article.
Did you miss this part
with a lot of MUST/MUST NOT about what I must or mustn't do should I decide to go this way.
Sounds like him being lazy.
Your comment said Forgejo has a disclosure process. The article says the author went with a carrot disclosure after reading the disclosure process and making a value judgement. Because your comment only mentioned Forgejo having a disclosure process, not an evaluation of the author’s evaluation of the disclosure process, it made you appear as if you had not read the article.
In your response to me calling that out, you offer an analysis. The author is lazy for using carrot disclosure over the defined disclosure process. That’s a valid take. I’m not going to disagree with that.
Edit: I hate to remove comments and it may get me banned but due to the hate speech I'm receiving regarding things unrelated to software while trying to sympathize with a frustrated security researcher who got caught up in unnecessary bureaucracy when taken en masse, I'm going to remove these comments for now. This is why we volunteer FOSS engineers have to stay clear of popular projects I guess.
Alternatively, they could have sent the security team an email with the 'carrot' and saying "There seems to be fundamental, systemic, security issues in Forgejo; here's some proof. There's too much for me to raise individual reports, what are we going to do about it?"
Can you please point out the hate speech you received? I can't find any in the comments here, just people having different opinions.
As the time of writing the comment I am replying to has 15 up- and 3 downvotes. Doesn't look like it has warranted hate speech.
They were DMed to me, and was disagreeing with me on this subject and then using anti-trans slurs. I got a bunch all in a short period, so I'm guessing a single actor or anti-trans group using multiple accounts. But I decided it wasn't worth my emotional energy to keep the comments up and have others do the same. Sucks that some people can't have discussions without finding something they hate about you and using that to make themselves feel superior when they dont have any real argument to make other than "you're wrong".
Honestly, I abandoned my lemmy.world account last year when Serinus changed the moderation policy that the "narrative" that trans people are not real or are mentally ill or whatever to not be considered hate speech and thus not to be removed automatically, following the similar change at Facebook. I guess I should continue to steer clear of the server since it seems it has given bigots a feeling that they aren't the bad guy as I argued it would just like it did with Facebook, X, and the others. Sucks that we can't live in peace. And that's all I'll say on the matter as I dont have the energy to convince anyone that trans people do exist, it's widely accepted medical science from all unbiased medical organizations and it is definitely as much hate speech so say a trans person isn't their gender as it is to say a black person is a non-human primate.
I don't really see what is so bad here... There was disclosure of type, but no reference to the exact code. This gives the maintainer a chance to reach out for specifics before bad actors can make a pseudo-zero day.
Is it the language you object to?
The entire attitude is shit. Could just contact the developers as outlined, instead of being a prude about it for some clout.
I understand what you're saying, but Forgejo has an outdated and made-up-from-thin-air policy. From their security.md:
- You MUST disclose vulns to the author (why are we dictating instead of inviting participation)
- emails about vulns MUST be encrypted (I don't even understand this one, this gives really strong "we don't know how email works" vibes)
And it just goes on, like someone from 2003 wrote that policy.
Now, I'm going to agree with you that it's a bit of a dick move to do the carrot dangle thing, but some vendors/devs just don't respond without the pressure. And forgejo has been forced by github supporters to implement a security policy after trying to ignore it.
It seems that the author has some ongoing interactions with forgejo, and it would be great if these were disclosed in the article, but forgejo seems to need a kick in the pants, especially over an RCE, the forbidden sev 10 of vulns.
If you replaced Forgejo with GitHub then I would understand, but Forgejo isn't a massive organization with hundreds of hired employees, it's run by people in their spare time with the option of donations.
Anyone can help contribute, instead of doing that, this guy decided to try and get some clout by being an asshole because he is butthurt about some other interaction. If this guy went about it the proper way and then still got no answer or fix after months, then I would understand more, but he didn't.
FYI: The writer works for a AI-based security company and,well,seems to fit in there.
There's an HN thread about this and yes it sounds like the guy is being stupid and/or there was a communications error. He submitted a PR for a potentially breaking change and it was closed as "needs discussion". That is, instead of clicking "open PR", he was advised to instead click "open discussion" and talk about the proposed change and its potential downstream effects. He instead got pissy and started spamming forums.
Setting aside the Forgejo issues for a moment, I can't quite see the logic behind the author's description of a "carrot disclosure".
As written, it's a third option for disclosure, beyond 1) coordinated disclosure (often 90 days for the vendor to fix things) or 2) full disclosure (immediately going public, esp when the vulnerability is believed to be actively exploited). But what the author describes as the carrot is to publish only the output of a proof-of-concept, and then the onus is on the vendor to figure out both the vulnerability and the fixes.
This seems wildly irresponsible to me, to put the effort into writing a working PoC but then to willfully withhold it, so as to basically force the vendor into a wild goose chase. And that's the best case scenario, when the PoC is actually legit. At worst, it's a DoS against a vendor (causing them to re-audit code to find a bug that doesn't actually exist, eg hallucinated AI slop) or is a form of defamation to scare users away.
Then there's the issue of when it's not a "vendor" per-se but a group of volunteers of an open-source project, which I will distinguish from commercial vendors as "maintainers". Is it ethical to withhold an already-written PoC from FOSS maintainers, whom often do not have the material capabilities to do a full-scale audit when given basically no clues?
To be clear, I'm not a security researcher and have done zero disclosures of any form. But if I ever ran a project and received a so-called carrot disclosure, why shouldn't I immediately call their bluff and treat it as full-disclosure? This situation seems like Schrodinger's Cat, where the only way to rip away the uncertainty is to throw open the box. Worse case, the project suffers the reputational hit for having a legit vulnerability. But best case, the vulnerability is non-existent. But what this supposed "third way" purports to do is no different than sowing the seeds of fear, uncertainty, and doubt amongst users. Someone tell me how this isn't one step away from extortion.
I think game theory would say that any and all recipients of "carrot" disclosures should always call the bluff, immediately and vocally. I don't see any way for such disclosures to be anything but unnecessarily antagonistic. I refuse to credit the term with any legitimacy.
I'm not sure why this Lemmy post was titled "RCE in Forgejo" when it just links to a yet-to-be-proven exploit, and the post itself is just a boast on not disclosing the vuln and telling maintainers to duplicate efforts. Feels rather disingenuous.
Other than that the idea of treating Forgejo as some sort of vendor to pull a carrot on is kind of a stupid joke. The security policy, even if lengthy, provides basis for collaboration. And these behaviors, although coming out the volunteer effort of a security researcher, does not exempt one from looking like an ass.
Also see the Mastodon thread for more.
What's a good alternative? I'm not 100% sold on forgejo either due to some bugs and security issues I've run into as well, but I've found few self-hosted alternatives that are a good fit. I need very little beyond a git repo. But I like having the web UI for reviewing code and pull requests and basic issue tracking and need that to support OIDC, but otherwise I'm open. I want something relatively lightweight, fully FOSS, and telemetry and all other external communication can be disabled.
Forgejo is fine. Don't expose it to the internet unless you have to, or mirror your repos to Codeberg and let them worry about it.
I don't get how that output showcases anything, unless he had run that against a known instance of forgejo so the owners of that instance could confirm that he actually executed code. But he's only showing a text file, that's like saying look I hacked super_secure_self_hosted_service:
python hack_it.py localhost:3000
Hacked!
For all we know chain_alpha.py is just a bunch of prints.
Also, even if it is real (which I don't really doubt, but I have seen no proof) holding the information instead of properly disclosing it is just childish. It's not a carrot methodology, it's a stick one, and one without a carrot. This is the sort of thing you do to big companies with no morals, doing it to a small open source project is just wrong, they don't have the manpower or money to redo the investigation you already did. Release a CVE, talk to the devs, and/or push a PR, but saying "I found a vulnerability but I won't tell you about it" is just dumb.
This is the sort of thing you do to big companies with no morals, doing it to a small open source project is just wrong, they don’t have the manpower or money to redo the investigation you already did.
Given that the dude works for an AI-based security company, and Forgejo and services like it (e.g., codeberg.org) are how you abandon the mess of vibe-coded trash that is GitHub, in my opinion, he has a motivation to pick apart this specific service.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!