CVE-2026-9277 Affecting gitlab-rails-ce-fips-19.1 package, versions <19.1.2-r5


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.85% (54th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-GITLABRAILSCEFIPS191-17996882
  • published17 Jul 2026
  • disclosed22 May 2026

Introduced: 22 May 2026

CVE-2026-9277  (opens in a new tab)

How to fix?

Upgrade Chainguard gitlab-rails-ce-fips-19.1 to version 19.1.2-r5 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream gitlab-rails-ce-fips-19.1 package and not the gitlab-rails-ce-fips-19.1 package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

shell-quote's quote() function did not validate object-token inputs against the operator model used by parse(). The .op field was backslash-escaped character by character using /(.)/g, which in JavaScript does not match line terminators (\n, \r, U+2028, U+2029). A line terminator in .op therefore passed through unescaped into the output; POSIX shells treat a literal newline as a command separator, so any content after it would execute as a second command. The vulnerable code path is reachable in two ways: (1) direct construction of { op: &#39;...\n...&#39; } from external input, and (2) via parse(cmd, envFn) when envFn returns object tokens whose .op is attacker-influenced. Both are documented API surface. Fixed by replacing the per-character escape with strict shape validation: .op must match the parser's control-operator allowlist; { op: &#39;glob&#39;, pattern } validates pattern and forbids line terminators; { comment } validates comment and forbids line terminators; any other object shape throws TypeError.

CVSS Base Scores

version 3.1