80 points artooro 1 hour ago 16 comments

tptacek 1 hour ago | parent

"CVSS 10.0" isn't in the headline here and a CVSS of 10 doesn't actually mean anything.

phoe-krk 1 hour ago | parent

Deeper in the article: https://docs.gitlab.com/releases/patches/patch-release-gitla...

GitLab has remediated an issue that, under certain conditions, could have allowed an unauthenticated user to execute arbitrary code on the GitLab server due to integer overflow when compiling a specially crafted regular expression. (...)

CVSS 10.0 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)

Here, CVSS 10.0 means arbitrary remote code execution.

tptacek 1 hour ago | parent

"Arbitrary RCE" does mean something. "CVSS 10.0" does not. We should be using the article headline here.

phoe-krk 53 minutes ago | parent

Truth be told, I don't think that "GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13" is a more descriptive title, even taking the HN guidelines into account. It could be better, sure, but it's not horrible (IMO).

tptacek 47 minutes ago | parent

It's an editorialization. The submitter is saying something about the importance of CVSS that the article does not. A better title would say "Remote Code Execution" where it says "CVSS 10.0" now.

TZubiri 54 minutes ago | parent

>CVSS of 10 doesn't actually mean anything.

Might you perchance be exaggerating?

tptacek 49 minutes ago | parent

No? CVSS is a Ouija board. Citrix directory traversal got scored 10.0. So did a Cisco Broadworks SSO bypass. Meanwhile, Shellshock did not.

CVSS is like the Pitchfork Music ratings scale. It communicates false precision, and it's easy to point to places where that precision misleads (D-plan's "Emergency & I" is not better than every Yo La Tengo album).

TZubiri 37 minutes ago | parent

Have you read signal/noise theory? That a signal isn't perfect (that it contains false positives or positive falses in case of binary signals, or that it has a delta between the signal and the underlying phenomenon) doesn't mean that it carries no information.

For example if I cry wolf 50% of the time, but 100% of the times there's a wolf I cry wolf. Then no matter what the frequency of wolf sightings are, my crying wolf carries some information (unless there's always a wolf). Assume there's a wolf 1% of the nights, then I will cry wolf 50% of the time, and you only need to check for a wolf 50% of the nights rather than 100%.

It's worth noting that there's still technically signal even if I sometimes miss a wolf, even if you may choose to ignore that signal in order to pursue 100% accuracy yourself.

ivanjermakov 46 minutes ago | parent

Because "10 out of 10" is a better headline for the average reader than "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H".

Retr0id 33 minutes ago | parent

Sometimes CVSS 10 "oversells" the true severity of a bug but this doesn't seem to be one of those cases.

beaconflint 44 minutes ago | parent

If you're patching a fleet, gitlab-rake gitlab:env:info gives you the exact version per node, faster than guessing from the omnibus package name.

Thaxll 10 minutes ago | parent

What a great week security wise!

perlgeek 10 minutes ago | parent

Back in perl 5.8 and older, the regex engine worked by recusing at the level of C functions, and so you could trigger stack overflows by giving it large strings.

Is this similar?

I wonder why gitlab even has its own regex compiler. Or is this a vulnerability in an underlying library or programming language?

jimmyl02 9 minutes ago | parent

Awesome find by https://hackerone.com/joaxcar and it's a little bit frightening that this severe of a bug isn't the biggest security vulnerability of today

bon0r 6 minutes ago | parent

possible bug? or too soon to check? :)

after updating a pop-up still shows:

"You are currently on version 19.5.1! We strongly recommend upgrading your GitLab installation immediately."

while 19.5.1 should be the latest and fixed version

minraws 6 minutes ago | parent

I am concerned for my self hosted servers, well only hope is tailscale should be entirely secure, and egress is filtered heavily... If that doesn't work my home lab is fucked.

Any suggestions folks, not even my terminally online self can handle all of these.