Security1 publisher2 min readPublished
Metasploit ships a public exploit for an unauthenticated GitLab file-read flaw
Rapid7 published a Metasploit module for CVE-2026-85706, an unauthenticated file read it says is already exploited against self-hosted GitLab. Every CE and EE build from 18.7 stays exposed until 19.1.8, 19.2.6 or 19.3.2.
The Watch · Security desk

What happened
- Rapid7's Metasploit team shipped a module for CVE-2026-85706, an unauthenticated arbitrary file read in GitLab's repository commits and files APIs.
- The flaw affects self-hosted GitLab CE and EE from 18.7 before 19.1.8, the 19.2 line before 19.2.6, and the 19.3 line before 19.3.2.
- It also added an exploit module for an authenticated remote code execution flaw in Langflow 1.11.1 and below, CVE-2026-18729.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- exposure An attacker with no GitLab account can read files off the host, and those files hold CI secrets, deploy tokens and database credentials usable for lateral movement.
- capability The public Metasploit module turns the bug into a point-and-run tool, so exploitation no longer depends on anyone writing their own exploit.
- decision Every self-hosted instance from 18.7 has to move to 19.1.8, 19.2.6 or 19.3.2; there is no safe build in between.
CVE-2026-85706 lives in GitLab's repository commits and files APIs, and the request that triggers it needs no account [1]. An unauthenticated read can reach the CI secrets, deploy tokens, SSH keys and database credentials a GitLab host keeps in config and repository files.
With the Metasploit module out, using the bug no longer takes exploit development. It shipped as auxiliary code in pull request #21910, contributed by jheysel-r7, with guneykabel and s3ntago credited [4].
Rapid7 says the flaw is already being exploited in the wild [3]. On the urgency, the team wrote: "If you're reading this and your self-hosted GitLab is running anything from 18.7 up to the fixed versions, please stop reading and go patch" [5]. Rapid7 is the only source for the in-the-wild claim [3].
The exposed range is wide. GitLab CE and EE are vulnerable from 18.7 before 19.1.8, in the 19.2 line before 19.2.6, and in the 19.3 line before 19.3.2 [2]. The patched builds are 19.1.8, 19.2.6 and 19.3.2 [6].
Two more modules shipped in the same update. One poses as a rogue IPv6 router and a rogue DHCPv6 server to make modern Windows and RFC 8106 clients accept the attacker as their DNS resolver, a mitm6-style coercion step in a Kerberos relay chain, tracked as CVE-2026-20929 [7]. The other is an authenticated remote code execution flaw in Langflow versions 1.11.1 and below, CVE-2026-18729 [8].
What to watch
- Whether GitLab or CISA lists CVE-2026-85706 as a Known Exploited Vulnerability with a federal patch deadline.
- Independent confirmation of in-the-wild exploitation from a second vendor or telemetry provider.
- Whether observed attacks chain the file read into credential theft or code execution.