CVE-2026-40245: Github.com/free5gc/udr Free5gc UDR Nudr-dr InfluenceData/subs-to-notify Leaks Vulnerability

HIGH
Advisory Identifier: GHSA-wrwh-rpq4-87hf
CVSS 7.5
CWE-202 CWE-209 CWE-200
Published
Advisory Summary

CVE-2026-40245 is a HIGH (CVSS 7.5) free5gc udr nudr-dr influencedata/subs-to-notify leaks vulnerability (CWE-202: Exposure of Sensitive Information Through Data Queries) affecting Github.com/free5gc/udr libraries in the Go ecosystem. The issue involves free5gc udr nudr-dr influencedata/subs-to-notify leaks supi in error response body without authentication. Remediation is available in the latest vendor maintenance releases.

CVE-2026-40245 at a Glance

CVE Identifier CVE-2026-40245
GHSA Identifier GHSA-wrwh-rpq4-87hf
Severity HIGH
CVSS v3.1 Base Score 7.5
CWE Classification CWE-202: Exposure of Sensitive Information Through Data Queries
Affected Product Github.com/free5gc/udr
Package Ecosystem Go
Published Date
Last Updated

Security Impact

CVSS: 7.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity None (I:N)
Availability None (A:N)

How to Fix CVE-2026-40245

To remediate this vulnerability, upgrade all affected Github.com/free5gc/udr dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

github.com/free5gc/udr fixed: Latest secure release
Upgrade github.com/free5gc/udr to Latest secure release
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for github.com/free5gc/udr

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-40245, inspect your project dependencies for Github.com/free5gc/udr:

inspect dependencies for github.com/free5gc/udr

Analyze the terminal output to locate any version of Github.com/free5gc/udr in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-202: Exposure of Sensitive Information Through Data Queries, where when trying to keep information confidential, an attacker can often infer some of the information by using statistics. In Github.com/free5gc/udr, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Summary An information disclosure vulnerability in the UDR service allows any unauthenticated attacker with access to the 5G Service Based Interface (SBI) to retrieve stored subscriber identifiers (SUPI/IMSI) with a single HTTP GET request requiring no parameters or credentials. ### Details The endpoint `GET /nudr-dr/v2/application-data/influenceData/subs-to-notify` (defined in 3GPP TS 29.519) requires at least one query parameter (`dnns`, `snssais`, `supis`, or `internalGroupIds`) to filter results. In the free5GC UDR implementation, the input validation is present but ineffective because the handler does not return after sending the HTTP 400 error. The request handling flow is: 1. The function `HandleApplicationDataInfluenceDataSubsToNotifyGet` in `./free5gc_4-2-1/free5gc/NFs/udr/internal/sbi/api_datarepository.go` (around line 2793) checks whether all of `dnn`, `snssai`, `internalGroupId`, and `supi` are empty. 2. If they are all empty, it builds a `problemDetails` structure and calls `c.JSON(http.StatusBadRequest, problemDetails)` to send a 400 response, **but it does not return afterwards**. 3. Execution continues and the handler still calls `s.Processor().ApplicationDataInfluenceDataSubsToNotifyGetProcedure(c, dnn,snssai, internalGroupId, supi)` defined in `./free5gc_4-2-1/free5gc/NFs/udr/internal/sbi/processor/influence_data_subscriptions_collection.go`. 4. This processor function queries the data repository and writes the full list of Traffic Influence Subscriptions to the HTTP response body, including `supis` fields with SUPI/IMSI values. As a result, a request without any query parameters produces a response where the HTTP status is 400 Bad Request, but the body contains both the error object and the full subscription list. The missing `return` after sending the 400 response in `api_datarepository.go` is the root cause of this vulnerability. ### PoC No authentication, no prior knowledge of any subscriber identifier required. ```bash curl -v "http://<udr-host>/nudr-dr/v2/application-data/influenceData/subs-to-notify" ``` Response (HTTP 400): ```json {"status":400,"detail":"At least one of DNNs, S-NSSAIs, Internal Group IDs or SUPIs shall be provided"} [{"dnns":["internet"], "snssais":[{"sst":1,"sd":"000001"}], "supis":["imsi-222777483957498"], "notificationUri":"http://pcf.../npcf-callback/v1/nudr-notify/influence-data/imsi-222777483957498/1"}] ``` ### Impact This is an unauthenticated information disclosure vulnerability. Any attacker with network access to the SBI (Service Based Interface) can enumerate SUPIs (Subscriber Permanent Identifiers / IMSI values) of registered users without any credentials or prior knowledge. In a 5G network, the SUPI is the most sensitive subscriber identifier — its exposure breaks the privacy guarantees introduced by 3GPP with the SUCI (Subscription Concealed Identifier) mechanism, designed specifically to prevent SUPI tracking over the air. This vulnerability completely undermines that protection at the core network level. Impacted deployments: any free5GC instance where the SBI is reachable by untrusted parties (e.g., misconfigured network segmentation, rogue NF, or compromised internal host). Note: an additional trigger exists — sending a malformed `snssai` parameter also bypasses validation due to a missing return after the deserialization error handler, producing the same information disclosure. ### Patch The vulnerability has been confirmed patched by adding the two missing `return` statements in `NFs/udr/internal/sbi/api_datarepository.go`, function `HandleApplicationDataInfluenceDataSubsToNotifyGet`: 1. After the `c.JSON(http.StatusBadRequest, problemDetails)` call in the `snssai` deserialization error branch. 2. After the `c.JSON(http.StatusBadRequest, problemDetails)` call in the empty parameters validation block. With the patch applied, a request without any query parameters now correctly returns HTTP 400 with only the error message, and no subscriber data is included in the response body. The fix has been verified: after applying the patch and recompiling the UDR, the endpoint `GET /nudr-dr/v2/application-data/influenceData/subs-to-notify` returns HTTP 400 with only: ``` {"status":400,"detail":"At least one of DNNs, S-NSSAIs, Internal Group IDs or SUPIs shall be provided"} ``` No SUPI or subscription data is leaked.

CVE-2026-40245 Affected Github.com/free5gc/udr Versions

1 component(s)
Product / Package Ecosystem Affected Versions Fixed Version
github.com/free5gc/udr
Go
≤ 1.4.2

References

Frequently Asked Questions

What is CVE-2026-40245?
CVE-2026-40245 is a security vulnerability in Github.com/free5gc/udr involving free5gc UDR nudr-dr influenceData/subs-to-notify leaks SUPI in error response body without authentication under CWE-202: Exposure of Sensitive Information Through Data Queries.
Which Github.com/free5gc/udr versions are affected?
Affected versions include releases prior to current release patches across affected packages: github.com/free5gc/udr.
What version fixes CVE-2026-40245?
Upgrading to current release patches (or the latest patched release for your respective branch) resolves the vulnerability.
Is github.com/free5gc/udr affected?
Yes, github.com/free5gc/udr is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
What is the CVSS score of CVE-2026-40245?
CVE-2026-40245 has a CVSS v3.1 base score of 7.5 (HIGH) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.
What CWE is associated with CVE-2026-40245?
CVE-2026-40245 is classified under CWE-202: Exposure of Sensitive Information Through Data Queries (When trying to keep information confidential, an attacker can often infer some of the information by using statistics.).
How can I check Go dependencies for CVE-2026-40245?
Run the dependency tree command: 'inspect dependencies for github.com/free5gc/udr'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-wrwh-rpq4-87hf",
  "modified" : "2026-04-16T21:57:35Z",
  "published" : "2026-04-14T20:00:15Z",
  "aliases" : [ "CVE-2026-40245" ],
  "summary" : "free5gc UDR nudr-dr influenceData/subs-to-notify leaks SUPI in error response body without authentication",
  "details" : "### Summary\nAn information disclosure vulnerability in the UDR service allows any unauthenticated  attacker with access to the 5G Service Based Interface (SBI) to retrieve stored subscriber identifiers (SUPI/IMSI) with a single HTTP GET request requiring no parameters or credentials.\n\n### Details\nThe endpoint `GET /nudr-dr/v2/application-data/influenceData/subs-to-notify` (defined in 3GPP TS 29.519) requires at least one query parameter (`dnns`, `snssais`,  `supis`, or `internalGroupIds`) to filter results.\n\nIn the free5GC UDR implementation, the input validation is present but ineffective because the handler does not return after sending the HTTP 400 error. The request handling flow is:\n\n1. The function `HandleApplicationDataInfluenceDataSubsToNotifyGet` in  `./free5gc_4-2-1/free5gc/NFs/udr/internal/sbi/api_datarepository.go`  (around line 2793) checks whether all of `dnn`, `snssai`, `internalGroupId`, \n   and `supi` are empty.\n2. If they are all empty, it builds a `problemDetails` structure and calls `c.JSON(http.StatusBadRequest, problemDetails)` to send a 400 response, **but it does not return afterwards**.\n3. Execution continues and the handler still calls `s.Processor().ApplicationDataInfluenceDataSubsToNotifyGetProcedure(c, dnn,snssai, internalGroupId, supi)` defined in  `./free5gc_4-2-1/free5gc/NFs/udr/internal/sbi/processor/influence_data_subscriptions_collection.go`.\n4. This processor function queries the data repository and writes the full list of Traffic Influence Subscriptions to the HTTP response body, including `supis` fields with SUPI/IMSI values.\n\nAs a result, a request without any query parameters produces a response where the HTTP status is 400 Bad Request, but the body contains both the error object and the full subscription list.\n\nThe missing `return` after sending the 400 response in `api_datarepository.go` is the root cause of this vulnerability.\n\n### PoC\nNo authentication, no prior knowledge of any subscriber identifier required.\n\n```bash\ncurl -v \"http://<udr-host>/nudr-dr/v2/application-data/influenceData/subs-to-notify\"\n```\nResponse (HTTP 400):\n```json\n{\"status\":400,\"detail\":\"At least one of DNNs, S-NSSAIs, Internal Group IDs or SUPIs shall be provided\"}\n[{\"dnns\":[\"internet\"],\n  \"snssais\":[{\"sst\":1,\"sd\":\"000001\"}],\n  \"supis\":[\"imsi-222777483957498\"],\n  \"notificationUri\":\"http://pcf.../npcf-callback/v1/nudr-notify/influence-data/imsi-222777483957498/1\"}]\n```\n\n### Impact\nThis is an unauthenticated information disclosure vulnerability. Any attacker with network access to the SBI (Service Based Interface) can enumerate SUPIs (Subscriber Permanent Identifiers / IMSI values) of registered users without any credentials or prior knowledge.\n\nIn a 5G network, the SUPI is the most sensitive subscriber identifier — its exposure breaks the privacy guarantees introduced by 3GPP with the SUCI (Subscription Concealed Identifier) mechanism, designed specifically to prevent SUPI tracking over the air. This vulnerability completely undermines that protection at the core network level.\n\nImpacted deployments: any free5GC instance where the SBI is reachable by untrusted parties (e.g., misconfigured network segmentation, rogue NF, or compromised internal host).\n\nNote: an additional trigger exists — sending a malformed `snssai` parameter  also bypasses validation due to a missing return after the deserialization  error handler, producing the same information disclosure.\n\n### Patch\n\nThe vulnerability has been confirmed patched by adding the two missing `return` statements in `NFs/udr/internal/sbi/api_datarepository.go`, function `HandleApplicationDataInfluenceDataSubsToNotifyGet`:\n\n1. After the `c.JSON(http.StatusBadRequest, problemDetails)` call in the `snssai` deserialization error branch.\n2. After the `c.JSON(http.StatusBadRequest, problemDetails)` call in the empty parameters validation block.\n\nWith the patch applied, a request without any query parameters now correctly returns HTTP 400 with only the error message, and no subscriber data is included in the response body.\n\nThe fix has been verified: after applying the patch and recompiling the UDR, the endpoint `GET /nudr-dr/v2/application-data/influenceData/subs-to-notify` returns HTTP 400 with only:\n```\n{\"status\":400,\"detail\":\"At least one of DNNs, S-NSSAIs, Internal Group IDs \nor SUPIs shall be provided\"}\n```\nNo SUPI or subscription data is leaked.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Go",
      "name" : "github.com/free5gc/udr"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "last_affected" : "1.4.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/free5gc/free5gc/security/advisories/GHSA-wrwh-rpq4-87hf"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-40245"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/free5gc/udr"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-200", "CWE-202", "CWE-209" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-04-14T20:00:15Z",
    "nvd_published_at" : "2026-04-16T00:16:29Z"
  }
}