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-5JPF-PJ32-XX53
Vulnerability from github – Published: 2020-07-29 16:26 – Updated: 2021-01-07 23:44Overview
Versions before and including 2.27.0 use a block list of specific keys that should be sanitized from the request object contained in the error object. When a request to Auth0 management API fails, the key for Authorization header is not sanitized and the Authorization header value can be logged exposing a bearer token.
Am I affected?
You are affected by this vulnerability if all of the following conditions apply:
- You are using
auth0npm package - You are using a Machine to Machine application authorized to use Auth0's management API https://auth0.com/docs/flows/concepts/client-credentials
How to fix that?
Upgrade to version 2.27.1
Will this update impact my users?
The fix provided in patch will not affect your users.
Credit
http://github.com/osdiab
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "auth0"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.27.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2020-15125"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2020-07-29T16:25:59Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Overview\nVersions before and including `2.27.0` use a block list of specific keys that should be sanitized from the request object contained in the error object. When a request to Auth0 management API fails, the key for `Authorization` header is not sanitized and the `Authorization` header value can be logged exposing a bearer token.\n\n### Am I affected?\nYou are affected by this vulnerability if all of the following conditions apply:\n\n- You are using `auth0` npm package\n- You are using a Machine to Machine application authorized to use Auth0\u0027s management API https://auth0.com/docs/flows/concepts/client-credentials\n\n### How to fix that?\nUpgrade to version `2.27.1`\n\n### Will this update impact my users?\nThe fix provided in patch will not affect your users.\n\n### Credit\nhttp://github.com/osdiab",
"id": "GHSA-5jpf-pj32-xx53",
"modified": "2021-01-07T23:44:25Z",
"published": "2020-07-29T16:26:22Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/auth0/node-auth0/security/advisories/GHSA-5jpf-pj32-xx53"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-15125"
},
{
"type": "WEB",
"url": "https://github.com/auth0/node-auth0/pull/507"
},
{
"type": "WEB",
"url": "https://github.com/auth0/node-auth0/pull/507/commits/62ca61b3348ec8e74d7d00358661af1a8bc98a3c"
},
{
"type": "WEB",
"url": "https://github.com/auth0/node-auth0/tree/v2.27.1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "Authorization header is not sanitized in an error object in auth0"
}
GHSA-5MJ6-3CMQ-FH34
Vulnerability from github – Published: 2022-01-06 22:22 – Updated: 2022-01-06 19:38showdoc is vulnerable to Generation of Error Message Containing Sensitive Information
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "showdoc/showdoc"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.10.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2022-0079"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2022-01-06T19:38:50Z",
"nvd_published_at": "2022-01-03T03:15:00Z",
"severity": "MODERATE"
},
"details": "showdoc is vulnerable to Generation of Error Message Containing Sensitive Information",
"id": "GHSA-5mj6-3cmq-fh34",
"modified": "2022-01-06T19:38:50Z",
"published": "2022-01-06T22:22:46Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-0079"
},
{
"type": "WEB",
"url": "https://github.com/star7th/showdoc/commit/e43df0a190f68aefa272507d3bd54475f566c1db"
},
{
"type": "PACKAGE",
"url": "https://github.com/star7th/showdoc"
},
{
"type": "WEB",
"url": "https://huntr.dev/bounties/b37f0e26-355a-4d50-8495-a567c10828ee"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
],
"summary": "showdoc is vulnerable to Generation of Error Message Containing Sensitive Information"
}
GHSA-5MM2-786G-8QWH
Vulnerability from github – Published: 2022-05-24 19:11 – Updated: 2022-05-24 19:11A verbose error message in GitLab EE affecting all versions since 12.2 could disclose the private email address of a user invited to a group
{
"affected": [],
"aliases": [
"CVE-2021-22249"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-08-23T20:15:00Z",
"severity": "MODERATE"
},
"details": "A verbose error message in GitLab EE affecting all versions since 12.2 could disclose the private email address of a user invited to a group",
"id": "GHSA-5mm2-786g-8qwh",
"modified": "2022-05-24T19:11:53Z",
"published": "2022-05-24T19:11:53Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22249"
},
{
"type": "WEB",
"url": "https://hackerone.com/reports/1204320"
},
{
"type": "WEB",
"url": "https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22249.json"
},
{
"type": "WEB",
"url": "https://gitlab.com/gitlab-org/gitlab/-/issues/331857"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-5PGM-3J3G-2RC7
Vulnerability from github – Published: 2022-07-12 22:15 – Updated: 2022-07-19 22:31<?php
namespace My\App;
use CuyZ\Valinor\Mapper\MappingError;
use CuyZ\Valinor\Mapper\Tree\Node;
use CuyZ\Valinor\Mapper\Tree\NodeTraverser;
use CuyZ\Valinor\MapperBuilder;
require_once __DIR__ . '/Valinor/vendor/autoload.php';
final class Money
{
private function __construct(public readonly string $amount)
{
}
public static function fromString(string $money): self
{
if (1 !== \preg_match('/^\d+ [A-Z]{3}$/', $money)) {
throw new \InvalidArgumentException(\sprintf('Given "%s" is not a recognized monetary amount', $money));
}
return new self($money);
}
}
class Foo
{
public function __construct(
private readonly Money $a,
private readonly Money $b,
private readonly Money $c,
) {}
}
$mapper = (new MapperBuilder())
->registerConstructor([Money::class, 'fromString'])
->mapper();
try {
var_dump($mapper->map(Foo::class, [
'a' => 'HAHA',
'b' => '100 EUR',
'c' => 'USD 100'
]));
} catch (MappingError $e) {
$messages = (new NodeTraverser(function (Node $node) {
foreach ($node->messages() as $message) {
var_dump([
'$message',
$message->path(),
$message->body()
]);
}
return '';
}))->traverse($e->node());
iterator_to_array($messages);
}
Now, this is quite innocent: it produces following output:
❯ php value-object-conversion.php
array(3) {
[0]=>
string(8) "$message"
[1]=>
string(1) "a"
[2]=>
string(48) "Given "HAHA" is not a recognized monetary amount"
}
array(3) {
[0]=>
string(8) "$message"
[1]=>
string(1) "c"
[2]=>
string(51) "Given "USD 100" is not a recognized monetary amount"
}
The problem is that nowhere I told valinor that it could use Throwable#getMessage().
This is a problem with cases where you get:
- an SQL exception showing an SQL snippet
- a DB connection exception showing DB ip address/username/password
- a timeout detail / out of memory detail (exploring DDoS possibilities)
This allows for potential data exfiltration, DDoS, enumeration attacks, etc.
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "cuyz/valinor"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.12.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2022-31140"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2022-07-12T22:15:29Z",
"nvd_published_at": "2022-07-11T20:15:00Z",
"severity": "HIGH"
},
"details": "```php\n\u003c?php\n\nnamespace My\\App;\n\nuse CuyZ\\Valinor\\Mapper\\MappingError;\nuse CuyZ\\Valinor\\Mapper\\Tree\\Node;\nuse CuyZ\\Valinor\\Mapper\\Tree\\NodeTraverser;\nuse CuyZ\\Valinor\\MapperBuilder;\n\nrequire_once __DIR__ . \u0027/Valinor/vendor/autoload.php\u0027;\n\nfinal class Money\n{\n private function __construct(public readonly string $amount)\n {\n }\n\n public static function fromString(string $money): self\n {\n if (1 !== \\preg_match(\u0027/^\\d+ [A-Z]{3}$/\u0027, $money)) {\n throw new \\InvalidArgumentException(\\sprintf(\u0027Given \"%s\" is not a recognized monetary amount\u0027, $money));\n }\n \n return new self($money);\n }\n}\n\nclass Foo\n{\n public function __construct(\n private readonly Money $a,\n private readonly Money $b,\n private readonly Money $c,\n ) {}\n}\n\n$mapper = (new MapperBuilder())\n -\u003eregisterConstructor([Money::class, \u0027fromString\u0027])\n -\u003emapper();\n\ntry {\n var_dump($mapper-\u003emap(Foo::class, [\n \u0027a\u0027 =\u003e \u0027HAHA\u0027,\n \u0027b\u0027 =\u003e \u0027100 EUR\u0027,\n \u0027c\u0027 =\u003e \u0027USD 100\u0027\n ]));\n} catch (MappingError $e) {\n $messages = (new NodeTraverser(function (Node $node) {\n foreach ($node-\u003emessages() as $message) {\n var_dump([\n \u0027$message\u0027,\n $message-\u003epath(),\n $message-\u003ebody()\n ]);\n }\n return \u0027\u0027;\n }))-\u003etraverse($e-\u003enode());\n\n iterator_to_array($messages);\n}\n```\n\nNow, this is quite innocent: it produces following output:\n\n```\n\u276f php value-object-conversion.php\narray(3) {\n [0]=\u003e\n string(8) \"$message\"\n [1]=\u003e\n string(1) \"a\"\n [2]=\u003e\n string(48) \"Given \"HAHA\" is not a recognized monetary amount\"\n}\narray(3) {\n [0]=\u003e\n string(8) \"$message\"\n [1]=\u003e\n string(1) \"c\"\n [2]=\u003e\n string(51) \"Given \"USD 100\" is not a recognized monetary amount\"\n}\n```\n\nThe problem is that nowhere I told valinor that it could use `Throwable#getMessage()`.\n\nThis is a problem with cases where you get:\n\n * an SQL exception showing an SQL snippet\n * a DB connection exception showing DB ip address/username/password\n * a timeout detail / out of memory detail (exploring DDoS possibilities)\n\nThis allows for potential data exfiltration, DDoS, enumeration attacks, etc.",
"id": "GHSA-5pgm-3j3g-2rc7",
"modified": "2022-07-19T22:31:41Z",
"published": "2022-07-12T22:15:29Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/CuyZ/Valinor/security/advisories/GHSA-5pgm-3j3g-2rc7"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-31140"
},
{
"type": "PACKAGE",
"url": "https://github.com/CuyZ/Valinor"
},
{
"type": "WEB",
"url": "https://github.com/CuyZ/Valinor/releases/tag/0.12.0"
}
],
"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": "Valinor error messages leading to potential data exfiltration before v0.12.0"
}
GHSA-5QV7-C38F-WR8H
Vulnerability from github – Published: 2022-05-24 19:14 – Updated: 2022-05-24 19:14IBM Security Secret Server up to 11.0 could allow a remote attacker to obtain sensitive information when a detailed technical error message is returned in the browser. This information could be used in further attacks against the system. IBM X-Force ID: 199322.
{
"affected": [],
"aliases": [
"CVE-2021-20508"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-09-14T14:15:00Z",
"severity": "MODERATE"
},
"details": "IBM Security Secret Server up to 11.0 could allow a remote attacker to obtain sensitive information when a detailed technical error message is returned in the browser. This information could be used in further attacks against the system. IBM X-Force ID: 199322.",
"id": "GHSA-5qv7-c38f-wr8h",
"modified": "2022-05-24T19:14:25Z",
"published": "2022-05-24T19:14:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20508"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/199322"
},
{
"type": "WEB",
"url": "https://www.ibm.com/support/pages/node/6488459"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-5RVC-5CWX-G5X8
Vulnerability from github – Published: 2026-03-18 20:11 – Updated: 2026-03-20 21:24Impact
This is an Improper Error Handling vulnerability with Information Exposure implications, combined with an HTTP Method Translation issue.
- Security Impact: The UDM incorrectly converts a downstream 400 Bad Request (from UDR) into a 500 Internal Server Error when handling PATCH requests with an empty supi path parameter. Additionally, the UDM incorrectly translates the PATCH method to PUT when forwarding to UDR, indicating a deeper architectural issue. This leaks internal error handling behavior and makes it difficult for clients to distinguish between client-side errors and server-side failures.
- Functional Impact: When a client sends a PATCH request with an empty supi (e.g., double slashes // in URL path), the UDM forwards a PUT request to UDR with the malformed path, which correctly returns 400. However, UDM propagates this as 500 SYSTEM_FAILURE instead of returning the appropriate 400 error to the client. This violates REST API best practices for PATCH operations and may indicate improper HTTP method handling.
- Affected Parties: All deployments of free5GC v4.0.1 using the UDM Nudm_SDM service with PATCH operations on sdm-subscriptions endpoint.
Patches
Yes, the issue has been patched.
The fix is implemented in PR free5gc/udm#79.
Users should upgrade to the next release of free5GC that includes this commit.
Workarounds
There is no direct workaround at the application level. The recommendation is to apply the provided patch or implement API gateway-level validation to reject PATCH requests with empty path parameters before they reach UDM.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/free5gc/udm"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.4.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-33192"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-18T20:11:27Z",
"nvd_published_at": "2026-03-20T09:16:16Z",
"severity": "HIGH"
},
"details": "**Impact** \nThis is an Improper Error Handling vulnerability with Information Exposure implications, combined with an HTTP Method Translation issue. \n- **Security Impact**: The UDM incorrectly converts a downstream 400 Bad Request (from UDR) into a 500 Internal Server Error when handling PATCH requests with an empty `supi` path parameter. Additionally, the UDM incorrectly translates the PATCH method to PUT when forwarding to UDR, indicating a deeper architectural issue. This leaks internal error handling behavior and makes it difficult for clients to distinguish between client-side errors and server-side failures. \n- **Functional Impact**: When a client sends a PATCH request with an empty `supi` (e.g., double slashes `//` in URL path), the UDM forwards a PUT request to UDR with the malformed path, which correctly returns 400. However, UDM propagates this as 500 SYSTEM_FAILURE instead of returning the appropriate 400 error to the client. This violates REST API best practices for PATCH operations and may indicate improper HTTP method handling. \n- **Affected Parties**: All deployments of free5GC v4.0.1 using the UDM Nudm_SDM service with PATCH operations on sdm-subscriptions endpoint.\n\n**Patches** \nYes, the issue has been patched. \nThe fix is implemented in PR free5gc/udm#79. \nUsers should upgrade to the next release of free5GC that includes this commit.\n\n**Workarounds** \nThere is no direct workaround at the application level. The recommendation is to apply the provided patch or implement API gateway-level validation to reject PATCH requests with empty path parameters before they reach UDM.",
"id": "GHSA-5rvc-5cwx-g5x8",
"modified": "2026-03-20T21:24:36Z",
"published": "2026-03-18T20:11:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/free5gc/free5gc/security/advisories/GHSA-5rvc-5cwx-g5x8"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33192"
},
{
"type": "WEB",
"url": "https://github.com/free5gc/free5gc/issues/784"
},
{
"type": "WEB",
"url": "https://github.com/free5gc/udm/pull/79"
},
{
"type": "PACKAGE",
"url": "https://github.com/free5gc/udm"
}
],
"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:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "free5GC UDM incorrectly returns 500 for empty supi path parameter in PATCH sdm-subscriptions reques"
}
GHSA-5VFC-CCJ9-49J9
Vulnerability from github – Published: 2026-03-05 00:31 – Updated: 2026-03-13 03:30ONTAP versions 9.12.1 and higher with S3 NAS buckets are susceptible to an information disclosure vulnerability. Successful exploit could allow an authenticated attacker to view a listing of the contents in a directory for which they lack permission.
{
"affected": [],
"aliases": [
"CVE-2026-22052"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-03-05T00:15:56Z",
"severity": "MODERATE"
},
"details": "ONTAP versions 9.12.1 and higher with S3 NAS buckets are susceptible to an information disclosure vulnerability. Successful exploit could allow an authenticated attacker to view a listing of the contents in a directory for which they lack permission.",
"id": "GHSA-5vfc-ccj9-49j9",
"modified": "2026-03-13T03:30:30Z",
"published": "2026-03-05T00:31:11Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22052"
},
{
"type": "WEB",
"url": "https://security.netapp.com/advisory/NTAP-20260304-0001"
}
],
"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"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-5W32-HRCV-CFHW
Vulnerability from github – Published: 2024-07-24 09:30 – Updated: 2024-07-24 09:30An implementation issue in the Connectivity Standards Alliance Matter 1.2 protocol as used in the connectedhomeip SDK allows a third party to disclose information about devices part of the same fabric (footprinting), even though the protocol is designed to prevent access to such information.
{
"affected": [],
"aliases": [
"CVE-2024-3454"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-07-24T08:15:03Z",
"severity": "LOW"
},
"details": "An implementation issue in the Connectivity Standards Alliance Matter 1.2 protocol as used in the connectedhomeip SDK allows a third party to disclose information about devices part of the same fabric (footprinting), even though the protocol is designed to prevent access to such information.",
"id": "GHSA-5w32-hrcv-cfhw",
"modified": "2024-07-24T09:30:40Z",
"published": "2024-07-24T09:30:40Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-3454"
},
{
"type": "WEB",
"url": "https://www.bitdefender.com/support/security-advisories/in-fabric-matter-cluster-attribute-disclosure"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-5WP7-5X9C-363F
Vulnerability from github – Published: 2022-05-24 17:40 – Updated: 2022-05-24 17:40IBM Cloud Pak for Security (CP4S) 1.3.0.1 and 1.4.0.0 could allow a remote attacker to obtain sensitive information when a detailed technical error message is returned in the browser. This information could be used in further attacks against the system. IBM X-Force ID: 185369.
{
"affected": [],
"aliases": [
"CVE-2020-4628"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-01-27T13:15:00Z",
"severity": "MODERATE"
},
"details": "IBM Cloud Pak for Security (CP4S) 1.3.0.1 and 1.4.0.0 could allow a remote attacker to obtain sensitive information when a detailed technical error message is returned in the browser. This information could be used in further attacks against the system. IBM X-Force ID: 185369.",
"id": "GHSA-5wp7-5x9c-363f",
"modified": "2022-05-24T17:40:25Z",
"published": "2022-05-24T17:40:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-4628"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/185369"
},
{
"type": "WEB",
"url": "https://www.ibm.com/support/pages/node/6408656"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-5X25-C2RF-F2JX
Vulnerability from github – Published: 2026-06-11 09:31 – Updated: 2026-06-11 09:31Several Spring WS integration paths with Spring Security could surface detailed account state (for example locked or disabled user semantics) to remote SOAP clients through exception messages or callback outcomes, instead of failing with generic authentication errors. That behavior assists remote attackers in distinguishing valid accounts from invalid ones and inferring lifecycle state.
Affected versions: Spring Web Services 5.0.0 through 5.0.1; 4.1.0 through 4.1.3; 4.0.0 through 4.0.18; 3.1.0 through 3.1.8.
{
"affected": [],
"aliases": [
"CVE-2026-40997"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-11T07:16:27Z",
"severity": "MODERATE"
},
"details": "Several Spring WS integration paths with Spring Security could surface detailed account state (for example locked or disabled user semantics) to remote SOAP clients through exception messages or callback outcomes, instead of failing with generic authentication errors. That behavior assists remote attackers in distinguishing valid accounts from invalid ones and inferring lifecycle state.\n\nAffected versions:\nSpring Web Services 5.0.0 through 5.0.1; 4.1.0 through 4.1.3; 4.0.0 through 4.0.18; 3.1.0 through 3.1.8.",
"id": "GHSA-5x25-c2rf-f2jx",
"modified": "2026-06-11T09:31:56Z",
"published": "2026-06-11T09:31:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-40997"
},
{
"type": "WEB",
"url": "https://spring.io/security/cve-2026-40997"
}
],
"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"
}
]
}
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.