CWE-209
AllowedGeneration of Error Message Containing Sensitive Information
Abstraction: Base · Status: Draft
The product generates an error message that includes sensitive information about its environment, users, or associated data.
833 vulnerabilities reference this CWE, most recent first.
GHSA-WGM6-9RVV-3438
Vulnerability from github – Published: 2026-02-18 00:56 – Updated: 2026-06-09 14:28Reconsidered - Working as designed. (Update 2026-05-28)
Libredesk is a single-tenant, self-hosted application. Configuring outbound webhook URLs requires an admin-only permission that is not granted by default - the operator must explicitly assign it.
Anyone holding this permission already has full administrative control over the application, and outbound HTTP to operator-chosen URLs is the documented purpose of the webhook feature. This is working as designed.
A SECURITY.md documenting the threat model will be added to the repo shortly.
Date: 2025-12-07 Vulnerability: Server-Side Request Forgery (SSRF) Severity: Medium Component: Webhooks Module
Executive Summary
A critical security vulnerability exists in the LibreDesk Webhooks module that allows an authenticated "Application Admin" to compromise the underlying cloud infrastructure or internal corporate network where this service is being hosted.
The application fails to validate destination URLs for webhooks. This allows an attacker to force the server to make HTTP requests to arbitrary internal destinations.
Confirmed Attack Vectors
1. Internal Port Scanning (Network Mapping)
Attackers can map the internal network by observing the difference between successful connections and connection errors. This works even if the response body is not returned.
Proof of Exploitation (from Server Logs):
* Open Port (8890): The server connects successfully.
text
timestamp=... level=info message="webhook delivered successfully" ... status_code=200
* Closed Port (8891): The server fails to connect.
text
timestamp=... level=error message="webhook delivery failed" ... error="... connect: connection refused"
Impact: An attacker can identify running services (databases, caches, internal apps) on the local network (e.g., localhost, 192.168.x.x).
2. Information Leakage (Error-Based)
If the internal service returns a non-2xx response (e.g., 403 Forbidden, 404 Not Found, 500 Error), the application logs the full response body.
Proof of Exploitation (from Server Logs):
timestamp=... level=error message="webhook delivery failed" ...
response="{\"secret_key\": \"xxx123\", \"role\": \"admin\"}"
Impact: An attacker can extract sensitive data by targeting endpoints that return errors or by forcing errors on internal services.
Technical Root Cause
- Missing Input Validation:
cmd/webhooks.goonly checks if the URL is empty, not if it resolves to a private IP. - Unrestricted HTTP Client:
internal/webhook/webhook.gouses a defaulthttp.Clientthat follows redirects and connects to any IP. - Verbose Error Logging: The application logs the full response body on failure, creating a side-channel for data exfiltration.
Remediation Required
To prevent this, the application must implement Defense in Depth:
- Input Validation: Block URLs resolving to private IP ranges (RFC 1918) and Link-Local addresses.
- Safe HTTP Client: Use a custom
http.Transportthat verifies the destination IP address after DNS resolution to prevent DNS rebinding attacks.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/abhinavxd/libredesk"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.0.2-0.20260215211005-727213631ce6"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-26957"
],
"database_specific": {
"cwe_ids": [
"CWE-209",
"CWE-918"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-18T00:56:30Z",
"nvd_published_at": "2026-02-20T00:16:15Z",
"severity": "MODERATE"
},
"details": "## Reconsidered - Working as designed. (Update 2026-05-28)\n\nLibredesk is a single-tenant, self-hosted application. Configuring outbound webhook URLs requires an admin-only permission that is not granted by default - the operator must explicitly assign it.\n\nAnyone holding this permission already has full administrative control over the application, and outbound HTTP to operator-chosen URLs is the documented purpose of the webhook feature. This is working as designed.\n\nA SECURITY.md documenting the threat model will be added to the repo shortly.\n\n------------------------------------------------------------------------------------------------------------------------------\n\n**Date:** 2025-12-07\n**Vulnerability:** Server-Side Request Forgery (SSRF)\n**Severity:** Medium\n**Component:** Webhooks Module\n\n## Executive Summary\nA critical security vulnerability exists in the LibreDesk Webhooks module that allows an authenticated \"Application Admin\" to compromise the underlying cloud infrastructure or internal corporate network where this service is being hosted.\n\nThe application fails to validate destination URLs for webhooks. This allows an attacker to force the server to make HTTP requests to arbitrary internal destinations.\n\n## Confirmed Attack Vectors\n\n### 1. Internal Port Scanning (Network Mapping)\nAttackers can map the internal network by observing the difference between successful connections and connection errors. This works even if the response body is not returned.\n\n**Proof of Exploitation (from Server Logs):**\n* **Open Port (8890)**: The server connects successfully.\n ```text\n timestamp=... level=info message=\"webhook delivered successfully\" ... status_code=200\n ```\n* **Closed Port (8891)**: The server fails to connect.\n ```text\n timestamp=... level=error message=\"webhook delivery failed\" ... error=\"... connect: connection refused\"\n ```\n\n**Impact**: An attacker can identify running services (databases, caches, internal apps) on the local network (e.g., `localhost`, `192.168.x.x`).\n\n### 2. Information Leakage (Error-Based)\nIf the internal service returns a non-2xx response (e.g., 403 Forbidden, 404 Not Found, 500 Error), the application **logs the full response body**.\n\n**Proof of Exploitation (from Server Logs):**\n```text\ntimestamp=... level=error message=\"webhook delivery failed\" ... \nresponse=\"{\\\"secret_key\\\": \\\"xxx123\\\", \\\"role\\\": \\\"admin\\\"}\"\n```\n\n**Impact**: An attacker can extract sensitive data by targeting endpoints that return errors or by forcing errors on internal services.\n\n## Technical Root Cause\n1. **Missing Input Validation**: `cmd/webhooks.go` only checks if the URL is empty, not if it resolves to a private IP.\n2. **Unrestricted HTTP Client**: `internal/webhook/webhook.go` uses a default `http.Client` that follows redirects and connects to any IP.\n3. **Verbose Error Logging**: The application logs the full response body on failure, creating a side-channel for data exfiltration.\n\n## Remediation Required\nTo prevent this, the application must implement **Defense in Depth**:\n\n1. **Input Validation**: Block URLs resolving to private IP ranges (RFC 1918) and Link-Local addresses.\n2. **Safe HTTP Client**: Use a custom `http.Transport` that verifies the destination IP address *after* DNS resolution to prevent DNS rebinding attacks.",
"id": "GHSA-wgm6-9rvv-3438",
"modified": "2026-06-09T14:28:34Z",
"published": "2026-02-18T00:56:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/abhinavxd/libredesk/security/advisories/GHSA-wgm6-9rvv-3438"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-26957"
},
{
"type": "WEB",
"url": "https://github.com/abhinavxd/libredesk/commit/727213631ce6a36bcb06f50ce542155e78f51316"
},
{
"type": "PACKAGE",
"url": "https://github.com/abhinavxd/libredesk"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Withdrawn Advisory: Libredesk has a SSRF Vulnerability in Webhooks",
"withdrawn": "2026-06-09T14:28:34Z"
}
GHSA-WJ24-9P82-86V2
Vulnerability from github – Published: 2023-10-10 03:30 – Updated: 2024-04-04 08:26The Statutory Reporting application has a vulnerable file storage location, potentially enabling low privileged attacker to read server files with minimal impact on confidentiality.
{
"affected": [],
"aliases": [
"CVE-2023-42475"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-10-10T02:15:11Z",
"severity": "MODERATE"
},
"details": "The Statutory Reporting application has a vulnerable file storage location, potentially enabling low privileged attacker to read server files with minimal impact on confidentiality.\n\n",
"id": "GHSA-wj24-9p82-86v2",
"modified": "2024-04-04T08:26:57Z",
"published": "2023-10-10T03:30:28Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-42475"
},
{
"type": "WEB",
"url": "https://me.sap.com/notes/3222121"
},
{
"type": "WEB",
"url": "https://www.sap.com/documents/2022/02/fa865ea4-167e-0010-bca6-c68f7e60039b.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-WJ7Q-GJG8-3CPM
Vulnerability from github – Published: 2023-07-06 21:07 – Updated: 2023-08-03 16:56Impact
Servers that passed their keys to the CryptKey constructor as as string instead of a file path will have had that key included in a LogicException message if they did not provide a valid pass phrase for the key where required.
Patches
This issue has been patched so that the provided key is no longer exposed in the exception message in the scenario outlined above. Users should upgrade to version 8.5.3 or 8.4.2 to receive the patch.
Workarounds
We recommend upgrading the oauth2-server to one of the patched releases (8.5.3 or 8.4.2). If you are unable to upgrade you can avoid this security issue by passing your key as a file instead of a string.
References
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "league/oauth2-server"
},
"ranges": [
{
"events": [
{
"introduced": "8.3.2"
},
{
"fixed": "8.4.2"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Packagist",
"name": "league/oauth2-server"
},
"ranges": [
{
"events": [
{
"introduced": "8.5.0"
},
{
"fixed": "8.5.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2023-37260"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2023-07-06T21:07:27Z",
"nvd_published_at": "2023-07-06T16:15:10Z",
"severity": "HIGH"
},
"details": "### Impact\nServers that passed their keys to the CryptKey constructor as as string instead of a file path will have had that key included in a LogicException message if they did not provide a valid pass phrase for the key where required. \n\n### Patches\nThis issue has been patched so that the provided key is no longer exposed in the exception message in the scenario outlined above. Users should upgrade to version 8.5.3 or 8.4.2 to receive the patch.\n\n### Workarounds\nWe recommend upgrading the oauth2-server to one of the patched releases (8.5.3 or 8.4.2). If you are unable to upgrade you can avoid this security issue by passing your key as a file instead of a string.\n\n### References\n* [Fix for 8.4.x](https://github.com/thephpleague/oauth2-server/pull/1359)\n* [Fix for 8.5.x](https://github.com/thephpleague/oauth2-server/pull/1353)\n",
"id": "GHSA-wj7q-gjg8-3cpm",
"modified": "2023-08-03T16:56:42Z",
"published": "2023-07-06T21:07:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/thephpleague/oauth2-server/security/advisories/GHSA-wj7q-gjg8-3cpm"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-37260"
},
{
"type": "WEB",
"url": "https://github.com/thephpleague/oauth2-server/pull/1353"
},
{
"type": "WEB",
"url": "https://github.com/thephpleague/oauth2-server/pull/1359"
},
{
"type": "PACKAGE",
"url": "https://github.com/thephpleague/oauth2-server"
},
{
"type": "WEB",
"url": "https://github.com/thephpleague/oauth2-server/releases/tag/8.5.3"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "league/oauth2-server key exposed in exception message when passing as a string and providing an invalid pass phrase"
}
GHSA-WJMJ-H3XC-HXP8
Vulnerability from github – Published: 2024-06-06 22:58 – Updated: 2024-10-31 22:24Impact
All users are impacted. The zsa application transfers the parse error stack from the server to the client in production build mode. This can potentially reveal sensitive information about the server environment, such as the machine username and directory paths. An attacker could exploit this vulnerability to gain unauthorized access to sensitive server information. This information could be used to plan further attacks or gain a deeper understanding of the server infrastructure.
Patches
Yes, this has been pathed on 0.3.3
Workarounds
No way to fix other than the patch.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "zsa"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.3.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2024-37162"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2024-06-06T22:58:46Z",
"nvd_published_at": "2024-06-07T15:15:50Z",
"severity": "MODERATE"
},
"details": "### Impact\nAll users are impacted. The zsa application transfers the parse error stack from the server to the client in production build mode. This can potentially reveal sensitive information about the server environment, such as the machine username and directory paths. An attacker could exploit this vulnerability to gain unauthorized access to sensitive server information. This information could be used to plan further attacks or gain a deeper understanding of the server infrastructure.\n\n### Patches\nYes, this has been pathed on `0.3.3`\n\n### Workarounds\nNo way to fix other than the patch.\n",
"id": "GHSA-wjmj-h3xc-hxp8",
"modified": "2024-10-31T22:24:07Z",
"published": "2024-06-06T22:58:46Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/IdoPesok/zsa/security/advisories/GHSA-wjmj-h3xc-hxp8"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-37162"
},
{
"type": "WEB",
"url": "https://github.com/IdoPesok/zsa/commit/86b86b282bde6780963f62406cc8bc65f2c86f3a"
},
{
"type": "PACKAGE",
"url": "https://github.com/IdoPesok/zsa"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Generation of Error Message Containing Sensitive Information in zsa"
}
GHSA-WQM4-3XR2-4RH8
Vulnerability from github – Published: 2022-05-24 16:49 – Updated: 2023-02-03 21:30IBM WebSphere Application Server 7.0, 8.0, 8.5, and 9.0 Admin Console could allow a remote attacker to obtain sensitive information when a specially crafted url causes a stack trace to be dumped. IBM X-Force ID: 160202.
{
"affected": [],
"aliases": [
"CVE-2019-4269"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-06-28T17:15:00Z",
"severity": "HIGH"
},
"details": "IBM WebSphere Application Server 7.0, 8.0, 8.5, and 9.0 Admin Console could allow a remote attacker to obtain sensitive information when a specially crafted url causes a stack trace to be dumped. IBM X-Force ID: 160202.",
"id": "GHSA-wqm4-3xr2-4rh8",
"modified": "2023-02-03T21:30:27Z",
"published": "2022-05-24T16:49:01Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-4269"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/160202"
},
{
"type": "WEB",
"url": "https://www-01.ibm.com/support/docview.wss?uid=ibm10884032"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/109000"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-WRWH-RPQ4-87HF
Vulnerability from github – Published: 2026-04-14 20:00 – Updated: 2026-04-16 21:57Summary
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:
- The function
HandleApplicationDataInfluenceDataSubsToNotifyGetin./free5gc_4-2-1/free5gc/NFs/udr/internal/sbi/api_datarepository.go(around line 2793) checks whether all ofdnn,snssai,internalGroupId, andsupiare empty. - If they are all empty, it builds a
problemDetailsstructure and callsc.JSON(http.StatusBadRequest, problemDetails)to send a 400 response, but it does not return afterwards. - 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. - This processor function queries the data repository and writes the full list of Traffic Influence Subscriptions to the HTTP response body, including
supisfields 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.
curl -v "http://<udr-host>/nudr-dr/v2/application-data/influenceData/subs-to-notify"
Response (HTTP 400):
{"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:
- After the
c.JSON(http.StatusBadRequest, problemDetails)call in thesnssaideserialization error branch. - 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.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/free5gc/udr"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.4.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-40245"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-202",
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2026-04-14T20:00:15Z",
"nvd_published_at": "2026-04-16T00:16:29Z",
"severity": "HIGH"
},
"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://\u003cudr-host\u003e/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 \u2014 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 \u2014 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.",
"id": "GHSA-wrwh-rpq4-87hf",
"modified": "2026-04-16T21:57:35Z",
"published": "2026-04-14T20:00:15Z",
"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"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "free5gc UDR nudr-dr influenceData/subs-to-notify leaks SUPI in error response body without authentication"
}
GHSA-WVHR-JW3J-479F
Vulnerability from github – Published: 2023-05-19 15:30 – Updated: 2024-04-04 04:15IBM MQ 8.0, 9.0, and 9.1 could allow a local user to obtain sensitive credential information when a detailed technical error message is returned in a stack trace. IBM X-Force ID: 250398.
{
"affected": [],
"aliases": [
"CVE-2023-28514"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-05-19T15:15:08Z",
"severity": "MODERATE"
},
"details": "IBM MQ 8.0, 9.0, and 9.1 could allow a local user to obtain sensitive credential information when a detailed technical error message is returned in a stack trace. IBM X-Force ID: 250398.",
"id": "GHSA-wvhr-jw3j-479f",
"modified": "2024-04-04T04:15:15Z",
"published": "2023-05-19T15:30:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-28514"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/250398"
},
{
"type": "WEB",
"url": "https://www.ibm.com/support/pages/node/6985835"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-WX6G-W634-22PH
Vulnerability from github – Published: 2024-01-30 09:30 – Updated: 2024-02-03 00:31An email address enumeration vulnerability exists in the password reset function of SEO Panel version 4.10.0. This allows an attacker to guess which emails exist on the system.
{
"affected": [],
"aliases": [
"CVE-2024-22646"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-01-30T07:15:08Z",
"severity": "MODERATE"
},
"details": "An email address enumeration vulnerability exists in the password reset function of SEO Panel version 4.10.0. This allows an attacker to guess which emails exist on the system.",
"id": "GHSA-wx6g-w634-22ph",
"modified": "2024-02-03T00:31:33Z",
"published": "2024-01-30T09:30:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-22646"
},
{
"type": "WEB",
"url": "https://github.com/cassis-sec/CVE/tree/main/2024/CVE-2024-22646"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-WX82-M2GX-4CGR
Vulnerability from github – Published: 2026-01-19 21:33 – Updated: 2026-01-19 21:33HCL AION version 2 is affected by a Technical Error Disclosure vulnerability. This can expose sensitive technical details, potentially resulting in information disclosure or aiding further attacks.
{
"affected": [],
"aliases": [
"CVE-2025-55250"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-01-19T19:16:02Z",
"severity": "LOW"
},
"details": "HCL AION version 2 is affected by a Technical Error Disclosure vulnerability. This can expose sensitive technical details, potentially resulting in information disclosure or aiding further attacks.",
"id": "GHSA-wx82-m2gx-4cgr",
"modified": "2026-01-19T21:33:11Z",
"published": "2026-01-19T21:33:11Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-55250"
},
{
"type": "WEB",
"url": "https://support.hcl-software.com/kb_view.do?sys_kb_id=4b92474633de7ad4159a05273e5c7b4b\u0026searchTerm=kb0127995#"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-X24Q-XW4J-6GXR
Vulnerability from github – Published: 2025-02-27 15:31 – Updated: 2025-02-27 15:31IBM EntireX 11.1 could allow a local user to obtain sensitive information when a detailed technical error message is returned. This information could be used in further attacks against the system.
{
"affected": [],
"aliases": [
"CVE-2024-56496"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-02-27T15:15:39Z",
"severity": "LOW"
},
"details": "IBM EntireX 11.1 could allow a local user to obtain sensitive information when a detailed technical error message is returned. This information could be used in further attacks against the system.",
"id": "GHSA-x24q-xw4j-6gxr",
"modified": "2025-02-27T15:31:52Z",
"published": "2025-02-27T15:31:52Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-56496"
},
{
"type": "WEB",
"url": "https://www.ibm.com/support/pages/node/7184194"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
Mitigation MIT-39
- Ensure that error messages only contain minimal details that are useful to the intended audience and no one else. The messages need to strike the balance between being too cryptic (which can confuse users) or being too detailed (which may reveal more than intended). The messages should not reveal the methods that were used to determine the error. Attackers can use detailed information to refine or optimize their original attack, thereby increasing their chances of success.
- If errors must be captured in some detail, record them in log messages, but consider what could occur if the log messages can be viewed by attackers. Highly sensitive information such as passwords should never be saved to log files.
- Avoid inconsistent messaging that might accidentally tip off an attacker about internal state, such as whether a user account exists or not.
Mitigation
Handle exceptions internally and do not display errors containing potentially sensitive information to a user.
Mitigation MIT-33
Strategy: Attack Surface Reduction
Use naming conventions and strong types to make it easier to spot when sensitive data is being used. When creating structures, objects, or other complex entities, separate the sensitive and non-sensitive data as much as possible.
Mitigation MIT-40
Strategy: Compilation or Build Hardening
Debugging information should not make its way into a production release.
Mitigation MIT-40
Strategy: Environment Hardening
Debugging information should not make its way into a production release.
Mitigation
Where available, configure the environment to use less verbose error messages. For example, in PHP, disable the display_errors setting during configuration, or at runtime using the error_reporting() function.
Mitigation
Create default error pages or messages that do not leak any information.
CAPEC-215: Fuzzing for application mapping
An attacker sends random, malformed, or otherwise unexpected messages to a target application and observes the application's log or error messages returned. The attacker does not initially know how a target will respond to individual messages but by attempting a large number of message variants they may find a variant that trigger's desired behavior. In this attack, the purpose of the fuzzing is to observe the application's log and error messages, although fuzzing a target can also sometimes cause the target to enter an unstable state, causing a crash.
CAPEC-463: Padding Oracle Crypto Attack
An adversary is able to efficiently decrypt data without knowing the decryption key if a target system leaks data on whether or not a padding error happened while decrypting the ciphertext. A target system that leaks this type of information becomes the padding oracle and an adversary is able to make use of that oracle to efficiently decrypt data without knowing the decryption key by issuing on average 128*b calls to the padding oracle (where b is the number of bytes in the ciphertext block). In addition to performing decryption, an adversary is also able to produce valid ciphertexts (i.e., perform encryption) by using the padding oracle, all without knowing the encryption key.
CAPEC-54: Query System for Information
An adversary, aware of an application's location (and possibly authorized to use the application), probes an application's structure and evaluates its robustness by submitting requests and examining responses. Often, this is accomplished by sending variants of expected queries in the hope that these modified queries might return information beyond what the expected set of queries would provide.
CAPEC-7: Blind SQL Injection
Blind SQL Injection results from an insufficient mitigation for SQL Injection. Although suppressing database error messages are considered best practice, the suppression alone is not sufficient to prevent SQL Injection. Blind SQL Injection is a form of SQL Injection that overcomes the lack of error messages. Without the error messages that facilitate SQL Injection, the adversary constructs input strings that probe the target through simple Boolean SQL expressions. The adversary can determine if the syntax and structure of the injection was successful based on whether the query was executed or not. Applied iteratively, the adversary determines how and where the target is vulnerable to SQL Injection.