high CVSS 8.8

CVE-2025-48371·Docker vulnerability

OpenFGA is an authorization/permission engine. OpenFGA versions 1.8.0 through 1.8.12 (corresponding to Helm chart openfga-0.2.16 through openfga-0.2.30 and docker 1.8.0 through 1.8.12) are vulnerable to authorization bypass when certain Check and ListObject calls are executed. Users are affected under four specific conditions: First, calling Check API or ListObjects with an authorization model that has a relationship directly assignable by both type bound public access and userset; second, there are check or list object queries with contextual tuples for the relationship that can be directly assignable by both type bound public access and userset; third, those contextual tuples’s user field is an userset; and finally, type bound public access tuples are not assigned to the relationship. Users should upgrade to version 1.8.13 to receive a patch. The upgrade is backwards compatible.

Severity
high
Software
Docker
Fixed in
1.8.13
Published
2025-05-22

Affected versions

From: 1.8.0

Until: 1.8.13

Fixed in: 1.8.13

How to fix this CVE

Docker users running OpenFGA versions 1.8.0 through 1.8.12 should upgrade to version 1.8.13 or later to patch an authorization bypass vulnerability affecting Check and ListObjects API calls. This vulnerability allows attackers with low-privilege access to bypass permission checks under specific authorization model configurations. The upgrade is backward compatible and should be applied promptly to all affected systems.

sudo dnf upgrade docker-ce

Defensia detects this vulnerability

How to check if you are affected

  1. Step 1: Check installed Docker and OpenFGA version with: docker version && docker inspect $(docker ps -q --filter ancestor=openfga) | grep -i 'image\|version'
  2. Step 2: Query OpenFGA's /info endpoint to retrieve build version: curl http://localhost:8080/info | jq '.version'
  3. Step 3: Search container logs for authorization-related errors: docker logs $(docker ps -q --filter ancestor=openfga) | grep -i 'check\|listobject\|authorization'
  4. Step 4: Verify patch application by confirming version >= 1.8.13 with: docker inspect $(docker ps -q --filter ancestor=openfga) | grep -A2 'Labels' | grep -i version

FAQ

What is CVE-2025-48371?

CVE-2025-48371 is an authorization bypass vulnerability in OpenFGA 1.8.0-1.8.12 that affects permission validation in Check and ListObjects API calls when specific authorization model configurations combine type-bound public access with userset assignments. Attackers with low privileges can bypass access controls by exploiting this flaw.

Is CVE-2025-48371 being actively exploited?

No, CVE-2025-48371 is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available. However, the high CVSS score (8.8) warrants prompt patching due to the potential impact on access control systems.

What versions of Docker are affected by CVE-2025-48371?

OpenFGA versions 1.8.0 through 1.8.12 are vulnerable, corresponding to Docker images with tags 1.8.0-1.8.12. The vulnerability is patched in version 1.8.13 and later.

How do I check if my server is vulnerable to CVE-2025-48371?

Run 'curl http://localhost:8080/info | jq .version' on the OpenFGA container to retrieve the version number. If it reports any version between 1.8.0 and 1.8.12 (inclusive), your system is vulnerable.

Does Defensia detect CVE-2025-48371?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Docker or OpenFGA is installed on a monitored server, CVE-2025-48371 will appear in your dashboard with remediation steps.

Related Docker CVEs

CVE-2026-40281CVSS 10Gotenberg is a Docker-powered stateless API for PDF files. In versions 8.30.1 and earlier, the metadata write endpoint validates metadata keys for control characters but leaves metadata values unsanitized. A newline character in a metadata value splits the ExifTool stdin line into two separate arguments, allowing injection of arbitrary ExifTool pseudo-tags such as -FileName, -Directory, -SymLink, and -HardLink. This is a bypass of the incomplete key-sanitization fix introduced in v8.30.1. An unauthenticated attacker can rename or move any PDF being processed to an arbitrary path in the container filesystem, overwrite arbitrary files, or create symlinks and hard links at arbitrary paths.
CVE-2026-53576CVSS 10Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter for the REST API (@Filter("/api/v1/**")) treats any request whose path ends in /configs as the public instance-config endpoint and forwards it without a credential check. kestra addresses its resources by URL path segments that the caller chooses (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). An anonymous caller picks the literal configs as the final segment, and the request bypasses Basic-Auth entirely. Because the bypass reaches the flow-create and execution-trigger routes, an unauthenticated caller creates a flow containing a Shell or Process task and runs it. The task executes as root inside the kestra container. The official docker-compose.yml mounts /var/run/docker.sock, so root in the container reaches the host Docker daemon. This vulnerability is fixed in 1.0.45 and 1.3.21.
CVE-2026-26216CVSS 10Crawl4AI versions prior to 0.8.0 contain a remote code execution vulnerability in the Docker API deployment. The /crawl endpoint accepts a hooks parameter containing Python code that is executed using exec(). The __import__ builtin was included in the allowed builtins, allowing unauthenticated remote attackers to import arbitrary modules and execute system commands. Successful exploitation allows full server compromise, including arbitrary command execution, file read and write access, sensitive data exfiltration, and lateral movement within internal networks.
CVE-2026-44329CVSS 10free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, free5GC's SMF mounts the UPI management route group without OAuth2/bearer-token authorization middleware. A network attacker who can reach SMF on the SBI can hit UPI endpoints with no Authorization header at all, and the requests reach the SMF business handlers. In the running Docker lab this was directly demonstrated for read (GET /upi/v1/upNodesLinks), write (POST /upi/v1/upNodesLinks with attacker-controlled UP-node and link payload), and delete (DELETE /upi/v1/upNodesLinks/{nodeID}) operations. This vulnerability is fixed in 4.2.2.
CVE-2026-33587CVSS 10Lack of user input sanitisation in Open Notebook v1.8.3 allows the application user to execute Python code (and subsequently OS commands) on the docker container via Server-Side Template Injection (SSTI) for user-created transformations.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-48371. Free for 1 server.

Get started free