Gitlab Critical Security Release: 16.3.4 and 16.2.7
about.gitlab.com
about.gitlab.com
In this particular class of impersonation problem (the Gitlab issue is about running a pipeline as another user), sometimes I find it unnerving how much an attacker could accomplish in a software company by being able to impersonate an arbitrary Slack user. We are taught to be cautious around incoming email, but I've yet to see a security training around "how do you know that your instant messages are genuine."
[1] https://www.malwarebytes.com/blog/news/2016/09/lesser-known-...
One of those: https://6point6.co.uk/insights/abusing-pdf-files/
https://web.archive.org/web/20220704223244/https://flowdock-...
It was really hard for me to find a responsible from Flowdock/Broadcom/Rally Software/CA Technologies to report the leak, but in the end they killed the servers until they got the issues under control.
Because of this I mostly share encrypted files over chat, using OpenPGP, but the user experience is terrible for most :(
> Because of this I mostly share encrypted files over chat, using OpenPGP, but the user experience is terrible for most :(
Agreed. Even with builtin OpenPGP support in Thunderbird the UX is still bad for regular users (well, for technical ones too).
https://gitlab.com/gitlab-org/gitlab/-/issues/417594
And the root cause seems to be...
> Change your git config and include username of the your victim that is,
> git config --global user.name "victim"
Oops.
That pattern seems kind of predictable too. You have the main product, with the main team, that probably understands things like how they use tokens for CI pretty well. Then, as the product grows, you get satellite teams to work on features outside the core. Things like this SAST analyzer, GitLab pages, Gitlab Wiki, etc. They don't have the same deep understanding of the core product. So they probably do a lot of trial and error until something works.
So I guess one lesson for the main product team is that they need to expose apis and data to these peripheral product teams as if those teams were a third party...don't give them automatic access to everything.
It's the entry point for this exploit. Something the attacker abuses to get rights they shouldn't have. The victim doesn't have to use it at all.
I’ve gotten the impression that they’re trying to expand rapidly to have more points where they can offer a feature which GitHub doesn’t have, which is certainly understandable but also gives the impression that their teams are overstretched and probably burning out. It’s pretty common to encounter an issue which has been open for years without progress despite a fair amount of customer interest.
GitHub enterprises, the on-prem version of their product, has plenty of vulnerabilities [1]. There's probably just as many in their hosted product, but we don't hear about them because they're fixed quietly.
[1] https://www.cvedetails.com/vulnerability-list/vendor_id-1191...
I work in security at a company with similar tools and unfortunately I think this is an incorrect assumption.
Security people aren’t necessarily good developers, and good developers aren’t necessarily good security people. And being “security minded” really isn’t good enough.
At the end of the day, the team building the product has the first and foremost priority of launching the product. This always means cutting corners, or not going as deep as might be necessary for certain issues like this, even if they are “security minded”. You really have to have a checks-and-balances on this by having a dedicated security team that has a priority of first and foremost not allowing security vulnerabilities to make it into launched products.
I’m not sure if GitLab has that or not, I’m just saying that wouldn’t make any assumptions about the security posture of a feature just because it’s a “security feature”. If anything I’d be more wary of them, because in my experience there actually can be an attitude of “my shit doesn’t stink” among people developing security products.
Request: The new UI has "Admin" link hidden which is hard to find. I liked the old UI better (explicit is better than implicit).
Question: Is the open source code the same as the Enterprise versions of the code? (how do you implement feature differences?)
> Request: The new UI has "Admin" link hidden which is hard to find. I liked the old UI better (explicit is better than implicit).
This was reported in the new navigation feedback issue [0] and is being worked on in [1]. Suggest adding your comment/upvote there too.
> Question: Is the open source code the same as the Enterprise versions of the code? (how do you implement feature differences?)
The source code for GitLab is located in a single repository. The change was proposed and introduced in 2019 for efficiency reasons [2] [3] [4]
You can learn more about the stewardship of GitLab, and the promises in [5] - point 11) links to the enterprise code location, and the free open source location.
This workflow also ensures that everyone can contribute to GitLab [6] - free users, and customers [7], using the same code base.
[0] https://gitlab.com/gitlab-org/gitlab/-/issues/409005#what-we...
[1] https://gitlab.com/gitlab-org/gitlab/-/issues/415854
[2] https://about.gitlab.com/blog/2019/02/21/merging-ce-and-ee-c...
[3] https://about.gitlab.com/blog/2019/08/23/a-single-codebase-f...
[4] https://about.gitlab.com/blog/2019/10/02/contributor-after-s...
[5] https://handbook.gitlab.com/handbook/company/stewardship/#pr...
[6] https://about.gitlab.com/community/contribute/
[7] https://docs.gitlab.com/ee/development/contributing/#contrib...
> In practice, customers can also make requests via private support tickets.
Yep. Sometimes, it can also be helpful to ask publicly in a forum topic or issue and link that in the support ticket, asking for prioritized support.
> I’ve seen GitLab determine priority of an issue based partially on demand from paying customers.
Correct. You might have seen team members commenting with customer requests into issues and epics. While we at GitLab cannot share customer names and other confidential data, the feature request itself is public and increases transparency.
The process is documented in the product handbook: https://about.gitlab.com/handbook/product/product-processes/...
The customer got a nice reply saying that the exact concern is being worked on, how and where to signal interest, track progress, etc. What did you expect, what more can you do? What would honor mean?
Have you ever worked in software? Do you know have many issues production code has? 50,000 open issues is nothing for a project of this size. Do you have any idea how much issues are closed daily? Gitlab is very actively using their issuetracker and sharing their progress with the world. Try finding a company with as much transparacy as Gitlab.
Requests are triaged using automation and AI, and responsible teams include the reviews in their planning. [0]
Issues (and related MRs) are targeting milestones. Since we at GitLab work in iterations and smaller changes to release features faster, epics help plan and group the issues. Roadmaps and boards are used by product managers, too. [1] [2] Example roadmap filtered by the CI section [3]
Every stage, group, feature has labels applied, which allows the creation of specific filters. For example, "Category:Code Suggestions" as label filter [4]
Additional helpers are available in the handbook, for example the "Features by group" overview [5] which shows the feature maintainers in the section, stage, group, product and engineering managers, etc.
Customers can open support tickets, too. [6] Opening a public issue is encouraged so other community members can engage and collaborate. Often, a workaround or fast solution is unveiled because of collaboration and transparency.
When in doubt whether it is a bug or feature, or asking for (troubleshooting) help, you are welcome to join our community forum or Discord. [7] I'm mostly active on the forum myself. [8]
[0] https://about.gitlab.com/handbook/engineering/quality/issue-...
[1] https://about.gitlab.com/direction/#how-we-plan-releases
[2] https://about.gitlab.com/handbook/product/product-processes/...
[3] https://gitlab.com/groups/gitlab-org/-/roadmap?state=opened&...
[4] https://gitlab.com/gitlab-org/gitlab/-/issues/?label_name%5B...
[5] https://about.gitlab.com/handbook/product/categories/feature...
[6] https://about.gitlab.com/support/
It would save a lot of time on my end, if gitlab had a :stable release tag for docker.
Scroll down to "Sign up for security notices"
They pay huge bounties for security vulnerabilities in their products, so they get the best researchers responsibly disclosing bugs.
Microsoft has a track record for delaying fixes and marking important issues as “not a bug”, so I’m less impressed with their security.
As terrible a corporation as Oracle is, their security response team has been one of the most effective and fast-paced I’ve ever reported to. With that said, they pay nothing to researchers, so Gitlab certainly shows they care more about security.