CWE-798
Allowed-with-ReviewUse of Hard-coded Credentials
Abstraction: Base · Status: Draft
The product contains hard-coded credentials, such as a password or cryptographic key.
2462 vulnerabilities reference this CWE, most recent first.
GHSA-93QW-4P3H-HX42
Vulnerability from github – Published: 2022-05-13 01:45 – Updated: 2022-05-13 01:45EMC ESRS Policy Manager prior to 6.8 contains an undocumented account (OpenDS admin) with a default password. A remote attacker with the knowledge of the default password may login to the system and gain administrator privileges to the local LDAP directory server.
{
"affected": [],
"aliases": [
"CVE-2017-4976"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-07-09T20:29:00Z",
"severity": "CRITICAL"
},
"details": "EMC ESRS Policy Manager prior to 6.8 contains an undocumented account (OpenDS admin) with a default password. A remote attacker with the knowledge of the default password may login to the system and gain administrator privileges to the local LDAP directory server.",
"id": "GHSA-93qw-4p3h-hx42",
"modified": "2022-05-13T01:45:59Z",
"published": "2022-05-13T01:45:59Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-4976"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2017/Jul/13"
},
{
"type": "WEB",
"url": "http://www.securitytracker.com/id/1038840"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-93R8-X5G7-G7FH
Vulnerability from github – Published: 2022-05-24 17:41 – Updated: 2022-05-24 17:41An issue was discovered on FiberHome HG6245D devices through RP2613. The web daemon contains the hardcoded awnfibre / fibre@dm!n credentials for an ISP.
{
"affected": [],
"aliases": [
"CVE-2021-27152"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-02-10T19:15:00Z",
"severity": "CRITICAL"
},
"details": "An issue was discovered on FiberHome HG6245D devices through RP2613. The web daemon contains the hardcoded awnfibre / fibre@dm!n credentials for an ISP.",
"id": "GHSA-93r8-x5g7-g7fh",
"modified": "2022-05-24T17:41:49Z",
"published": "2022-05-24T17:41:49Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-27152"
},
{
"type": "WEB",
"url": "https://pierrekim.github.io/blog/2021-01-12-fiberhome-ont-0day-vulnerabilities.html#httpd-hardcoded-credentials"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-953H-535J-JG2V
Vulnerability from github – Published: 2026-10-19 16:53 – Updated: 2026-10-19 16:53Summary
The MCP proxy's client-facing session ID embeds the authenticated caller's
subject (JWT sub claim) specifically as an anti-hijacking discriminator —
matching the Model Context Protocol specification's documented session-hijacking
guidance (https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices#session-hijacking).
However, the session-resume path never checks that discriminator against the
current caller's identity, so any client that obtains a session ID (its own or
another user's) can resume that session and act with it — including on
routes with per-user backend sessions. This is aggravated by the official
Helm chart shipping a literal, publicly known default seed
("default-insecure-seed") for the key that encrypts these session IDs.
Impact
An attacker who obtains (or, under the default seed, forges) another user's
Mcp-Session-Id value can resume that user's MCP session against the backend
MCP server(s) bound to the route — reading conversation/tool-call state and
invoking further JSON-RPC methods (e.g. tools/call, resources/read) in the
context of that other user's already-initialized backend session. On a
multi-tenant AI Gateway deployment, this crosses the exact trust boundary the
subject-embedding was added to protect.
Location
internal/mcpproxy/session.go—clientToGatewaySessionID.backendSessionIDs()(around line 707-765): parses{routeName}@{subject}@{backends}and returns only(perBackendSessionIDs, route, error). The comment at the subject-parsing site reads: "The subject ... is retained inside the encrypted session ID for anti-hijacking purposes but is not needed during parsing." — the subject is discarded, never returned, never compared.internal/mcpproxy/mcpproxy.go—sessionFromID(id, lastEvent)(around line 282-323): resumes a session purely from the decrypted blob; it is never passed the current request's authenticated subject, so there is nothing to compare against even ifbackendSessionIDs()did return it.internal/mcpproxy/legacy.go—extractSubject(r)(around line 1549-1562) is called exactly once, only at session creation (handleInitializeRequest->newSession, line ~307/484/491) to embed the subject when the session ID is minted. All three session-resume call sites (serveGET/servePOST/serverDELETEpaths, lines ~133, 167, 216) callsessionFromIDwith no subject argument at all.internal/mcpproxy/mcpproxy.goline 259 (clientToGatewaySessionIDFromEntries) is where the subject is embedded at creation, confirming the intended design.- Aggravating factor:
manifests/charts/ai-gateway-helm/values.yamlline 297 shipsseed: "default-insecure-seed"as the out-of-the-box value forcontroller.mcp.sessionEncryption.seed, whichtemplates/deployment.yamlpasses straight to--mcpSessionEncryptionSeed(also literally defaulted to"default-insecure-seed"incmd/controller/main.goandcmd/extproc/mainlib/main.gowhen the flag is omitted entirely). Session IDs aresalt || nonce || ciphertext(seeinternal/mcpproxy/crypto.go), so knowing the seed and the (also-defaulted) PBKDF2 iteration count is sufficient to derive the AES-GCM key and both decrypt observed session IDs and encrypt new ones for an arbitrary chosen subject/backend-session combination.
Reproduction (code-level, not run against a live cluster)
- Deploy Envoy AI Gateway with an
MCPRoutethat has an OAuth/JWTSecurityPolicyattached (sointernalapi.MCPSubjectHeaderis populated) and at least one backend MCP server, using the Helm chart's defaultvalues.yaml(controller.mcp.sessionEncryption.seedleft at"default-insecure-seed"). - User A authenticates with a valid JWT (
sub: user-a) and sends aninitializeJSON-RPC request to the route. The gateway creates backend session(s) and returnsMcp-Session-Id: <encrypted-blob-A>, whose plaintext is{route}@user-a@{backend}:{base64(sessionID)}:{capHex}. - Attacker (any other authenticated user, or — since the seed is public and
default — even without ever having a legitimate session at all) constructs
{route}@user-a@{backend}:{base64(<any-or-known-backend-session-id>)}:fff, derives the AES-GCM key via PBKDF2(sha256, "default-insecure-seed", salt, 100000, 32) for a salt of their choosing, and encrypts it themselves to produce a session ID that decrypts to the same structuresessionFromIDexpects. - Attacker sends a subsequent JSON-RPC request (e.g.
tools/call) to the same route with headerMcp-Session-Id: <forged-or-captured-blob-A>. The gateway decrypts it, extractsperBackendSessionIDsforbackend, and forwards the attacker's call using that backend session — with no comparison to the attacker's own JWT subject at any point insessionFromID/backendSessionIDs().
Suggested fix
- In
sessionFromID, thread the current request'sextractSubject(r)value through tobackendSessionIDs()(or a wrapping call) and reject resumption (401/403) when the decrypted subject does not match the current caller's subject — restoring the anti-hijacking check the embedding was built for. - Independently, change the Helm chart's default
controller.mcp.sessionEncryption.seedto be randomly generated per install (e.g. via a Helmlookup/randAlphaNumin a pre-install hook, or a required value with no default), rather than shipping a literal, fixed string. At minimum, fail startup (rather than just logging) when the seed equals the documented insecure default in a non-dev/insecure-allowed mode.
Detected by
Aeon vuln-scanner — agentic dataflow review (internal/mcpproxy entrypoint,
Envoy AI Gateway data-plane MCP proxy), followed by manual adversarial
verification against the exact HEAD commit of main
(472da7db7984f769c9a77671d12c0354e75fc3ba, confirmed to match
repos/theagentrouter/agent-router/commits/main at time of report).
Dependency-CVE findings from this scan (osv-scanner, go.mod/package-lock.json)
are not included here — they are all already covered by open Dependabot PRs
(#2555, #2643, #2672, #2497, #2615) and are omitted to avoid duplicate filings.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/envoyproxy/ai-gateway"
},
"ranges": [
{
"events": [
{
"introduced": "0.4.0-rc1"
},
{
"fixed": "1.2.0-rc1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-798",
"CWE-863"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-19T16:53:26Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "## Summary\n\nThe MCP proxy\u0027s client-facing session ID embeds the authenticated caller\u0027s\nsubject (JWT `sub` claim) specifically as an anti-hijacking discriminator \u2014\nmatching the Model Context Protocol specification\u0027s documented session-hijacking\nguidance (https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices#session-hijacking).\nHowever, the session-resume path never checks that discriminator against the\ncurrent caller\u0027s identity, so any client that obtains a session ID (its own or\nanother user\u0027s) can resume that session and act with it \u2014 including on\nroutes with per-user backend sessions. This is aggravated by the official\nHelm chart shipping a literal, publicly known default seed\n(`\"default-insecure-seed\"`) for the key that encrypts these session IDs.\n\n## Impact\n\nAn attacker who obtains (or, under the default seed, forges) another user\u0027s\n`Mcp-Session-Id` value can resume that user\u0027s MCP session against the backend\nMCP server(s) bound to the route \u2014 reading conversation/tool-call state and\ninvoking further JSON-RPC methods (e.g. `tools/call`, `resources/read`) in the\ncontext of that other user\u0027s already-initialized backend session. On a\nmulti-tenant AI Gateway deployment, this crosses the exact trust boundary the\nsubject-embedding was added to protect.\n\n## Location\n\n- `internal/mcpproxy/session.go` \u2014 `clientToGatewaySessionID.backendSessionIDs()`\n (around line 707-765): parses `{routeName}@{subject}@{backends}` and returns\n only `(perBackendSessionIDs, route, error)`. The comment at the subject-parsing\n site reads: \"The subject ... is retained inside the encrypted session ID for\n anti-hijacking purposes but is not needed during parsing.\" \u2014 the subject is\n discarded, never returned, never compared.\n- `internal/mcpproxy/mcpproxy.go` \u2014 `sessionFromID(id, lastEvent)` (around line\n 282-323): resumes a session purely from the decrypted blob; it is never passed\n the current request\u0027s authenticated subject, so there is nothing to compare\n against even if `backendSessionIDs()` did return it.\n- `internal/mcpproxy/legacy.go` \u2014 `extractSubject(r)` (around line 1549-1562) is\n called exactly once, only at session creation (`handleInitializeRequest` -\u003e\n `newSession`, line ~307/484/491) to embed the subject when the session ID is\n minted. All three session-resume call sites (`serveGET`/`servePOST`/`serverDELETE`\n paths, lines ~133, 167, 216) call `sessionFromID` with no subject argument at all.\n- `internal/mcpproxy/mcpproxy.go` line 259 (`clientToGatewaySessionIDFromEntries`)\n is where the subject is embedded at creation, confirming the intended design.\n- Aggravating factor: `manifests/charts/ai-gateway-helm/values.yaml` line 297\n ships `seed: \"default-insecure-seed\"` as the out-of-the-box value for\n `controller.mcp.sessionEncryption.seed`, which `templates/deployment.yaml`\n passes straight to `--mcpSessionEncryptionSeed` (also literally defaulted to\n `\"default-insecure-seed\"` in `cmd/controller/main.go` and\n `cmd/extproc/mainlib/main.go` when the flag is omitted entirely). Session IDs\n are `salt || nonce || ciphertext` (see `internal/mcpproxy/crypto.go`), so\n knowing the seed and the (also-defaulted) PBKDF2 iteration count is sufficient\n to derive the AES-GCM key and both decrypt observed session IDs and encrypt\n new ones for an arbitrary chosen subject/backend-session combination.\n\n## Reproduction (code-level, not run against a live cluster)\n\n1. Deploy Envoy AI Gateway with an `MCPRoute` that has an OAuth/JWT\n `SecurityPolicy` attached (so `internalapi.MCPSubjectHeader` is populated)\n and at least one backend MCP server, using the Helm chart\u0027s default\n `values.yaml` (`controller.mcp.sessionEncryption.seed` left at\n `\"default-insecure-seed\"`).\n2. User A authenticates with a valid JWT (`sub: user-a`) and sends an\n `initialize` JSON-RPC request to the route. The gateway creates backend\n session(s) and returns `Mcp-Session-Id: \u003cencrypted-blob-A\u003e`, whose plaintext\n is `{route}@user-a@{backend}:{base64(sessionID)}:{capHex}`.\n3. Attacker (any other authenticated user, or \u2014 since the seed is public and\n default \u2014 even without ever having a legitimate session at all) constructs\n `{route}@user-a@{backend}:{base64(\u003cany-or-known-backend-session-id\u003e)}:fff`,\n derives the AES-GCM key via PBKDF2(sha256, \"default-insecure-seed\",\n salt, 100000, 32) for a salt of their choosing, and encrypts it themselves\n to produce a session ID that decrypts to the same structure `sessionFromID`\n expects.\n4. Attacker sends a subsequent JSON-RPC request (e.g. `tools/call`) to the same\n route with header `Mcp-Session-Id: \u003cforged-or-captured-blob-A\u003e`. The gateway\n decrypts it, extracts `perBackendSessionIDs` for `backend`, and forwards the\n attacker\u0027s call using that backend session \u2014 with no comparison to the\n attacker\u0027s own JWT subject at any point in `sessionFromID` /\n `backendSessionIDs()`.\n\n## Suggested fix\n\n- In `sessionFromID`, thread the current request\u0027s `extractSubject(r)` value\n through to `backendSessionIDs()` (or a wrapping call) and reject resumption\n (401/403) when the decrypted subject does not match the current caller\u0027s\n subject \u2014 restoring the anti-hijacking check the embedding was built for.\n- Independently, change the Helm chart\u0027s default\n `controller.mcp.sessionEncryption.seed` to be randomly generated per\n install (e.g. via a Helm `lookup`/`randAlphaNum` in a pre-install hook, or a\n required value with no default), rather than shipping a literal, fixed\n string. At minimum, fail startup (rather than just logging) when the seed\n equals the documented insecure default in a non-dev/insecure-allowed mode.\n\n## Detected by\n\nAeon vuln-scanner \u2014 agentic dataflow review (`internal/mcpproxy` entrypoint,\nEnvoy AI Gateway data-plane MCP proxy), followed by manual adversarial\nverification against the exact HEAD commit of `main`\n(`472da7db7984f769c9a77671d12c0354e75fc3ba`, confirmed to match\n`repos/theagentrouter/agent-router/commits/main` at time of report).\nDependency-CVE findings from this scan (osv-scanner, `go.mod`/`package-lock.json`)\nare not included here \u2014 they are all already covered by open Dependabot PRs\n(#2555, #2643, #2672, #2497, #2615) and are omitted to avoid duplicate filings.",
"id": "GHSA-953h-535j-jg2v",
"modified": "2026-10-19T16:53:26Z",
"published": "2026-10-19T16:53:26Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/theagentrouter/agent-router/security/advisories/GHSA-953h-535j-jg2v"
},
{
"type": "WEB",
"url": "https://github.com/theagentrouter/agent-router/pull/2740"
},
{
"type": "WEB",
"url": "https://github.com/theagentrouter/agent-router/pull/2755"
},
{
"type": "WEB",
"url": "https://github.com/theagentrouter/agent-router/commit/0d1e73037076d72251342d0ea578a36ffb7002c7"
},
{
"type": "WEB",
"url": "https://github.com/theagentrouter/agent-router/commit/994579660ae2a9f2feef3cb77766e155746858b4"
},
{
"type": "PACKAGE",
"url": "https://github.com/theagentrouter/agent-router"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable"
}
GHSA-95GC-W6F3-C2HH
Vulnerability from github – Published: 2022-02-11 00:00 – Updated: 2022-03-01 00:01A CWE-798: Use of Hard-coded Credentials vulnerability exists. If an attacker were to obtain the TLS cryptographic key and take active control of the Courier tunneling communication network, they could potentially observe and manipulate traffic associated with product configuration.
{
"affected": [],
"aliases": [
"CVE-2022-22813"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-02-09T23:15:00Z",
"severity": "CRITICAL"
},
"details": "A CWE-798: Use of Hard-coded Credentials vulnerability exists. If an attacker were to obtain the TLS cryptographic key and take active control of the Courier tunneling communication network, they could potentially observe and manipulate traffic associated with product configuration.",
"id": "GHSA-95gc-w6f3-c2hh",
"modified": "2022-03-01T00:01:16Z",
"published": "2022-02-11T00:00:48Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-22813"
},
{
"type": "WEB",
"url": "https://download.schneider-electric.com/files?p_Doc_Ref=SEVD-2022-039-03"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-95V9-45F9-X3WP
Vulnerability from github – Published: 2022-05-24 17:25 – Updated: 2023-05-15 21:30The Temi application 1.3.3 through 1.3.7931 for Android has hard-coded credentials.
{
"affected": [],
"aliases": [
"CVE-2020-16170"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-08-11T20:15:00Z",
"severity": "HIGH"
},
"details": "The Temi application 1.3.3 through 1.3.7931 for Android has hard-coded credentials.",
"id": "GHSA-95v9-45f9-x3wp",
"modified": "2023-05-15T21:30:20Z",
"published": "2022-05-24T17:25:18Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-16170"
},
{
"type": "WEB",
"url": "https://www.mcafee.com/blogs/other-blogs/mcafee-labs/call-an-exorcist-my-robots-possessed"
},
{
"type": "WEB",
"url": "https://www.robotemi.com/software-updates"
}
],
"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-96M5-4GQ2-Q3X9
Vulnerability from github – Published: 2025-09-29 21:30 – Updated: 2025-10-03 18:31Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to 22.0.862 and Application prior to 20.0.2014 (VA and SaaS deployments) contain Docker images with the private GPG key and passphrase for the account no‑reply+virtual‑appliance@printerlogic.com. The key is stored in cleartext and the passphrase is hardcoded in files. An attacker with administrative access to the appliance can extract the private key, import it into their own system, and subsequently decrypt GPG-encrypted files and sign arbitrary firmware update packages. A maliciously signed update can be uploaded by an admin‑level attacker and will be executed by the appliance, giving the attacker full control of the virtual appliance.
{
"affected": [],
"aliases": [
"CVE-2025-34209"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-09-29T21:15:34Z",
"severity": "CRITICAL"
},
"details": "Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to 22.0.862 and Application prior to 20.0.2014 (VA and SaaS deployments)\u00a0contain Docker images with the private GPG key and passphrase for the account *no\u2011reply+virtual\u2011appliance@printerlogic.com*.\u00a0The key is stored in cleartext and the passphrase is hardcoded in files.\u00a0An attacker with administrative access to the appliance can extract the private key, import it into their own system, and subsequently decrypt GPG-encrypted files and sign arbitrary firmware update packages.\u00a0A maliciously signed update can be uploaded by an admin\u2011level attacker and will be executed by the appliance, giving the attacker full control of the virtual appliance.",
"id": "GHSA-96m5-4gq2-q3x9",
"modified": "2025-10-03T18:31:25Z",
"published": "2025-09-29T21:30:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-34209"
},
{
"type": "WEB",
"url": "https://help.printerlogic.com/saas/Print/Security/Security-Bulletins.htm"
},
{
"type": "WEB",
"url": "https://help.printerlogic.com/va/Print/Security/Security-Bulletins.htm"
},
{
"type": "WEB",
"url": "https://pierrekim.github.io/blog/2025-04-08-vasion-printerlogic-83-vulnerabilities.html#va-private-gpg-key"
},
{
"type": "WEB",
"url": "https://www.vulncheck.com/advisories/vasion-print-printerlogic-hardcoded-gpg-private-key"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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-96P2-7R8J-8Q3M
Vulnerability from github – Published: 2022-05-24 17:36 – Updated: 2022-05-24 17:36In the Broadcom Nexus firmware, there is an insecure default password. This could lead to local information disclosure in the kernel with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android SoCAndroid ID: A-171413798
{
"affected": [],
"aliases": [
"CVE-2020-0019"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-12-14T23:15:00Z",
"severity": "MODERATE"
},
"details": "In the Broadcom Nexus firmware, there is an insecure default password. This could lead to local information disclosure in the kernel with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android SoCAndroid ID: A-171413798",
"id": "GHSA-96p2-7r8j-8q3m",
"modified": "2022-05-24T17:36:23Z",
"published": "2022-05-24T17:36:23Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-0019"
},
{
"type": "WEB",
"url": "https://source.android.com/security/bulletin/2020-12-01"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-96RX-X58H-PWW5
Vulnerability from github – Published: 2022-05-17 02:50 – Updated: 2022-05-17 02:50iBaby M3S has a password of admin for the backdoor admin account.
{
"affected": [],
"aliases": [
"CVE-2015-2887"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-04-10T03:59:00Z",
"severity": "CRITICAL"
},
"details": "iBaby M3S has a password of admin for the backdoor admin account.",
"id": "GHSA-96rx-x58h-pww5",
"modified": "2022-05-17T02:50:33Z",
"published": "2022-05-17T02:50:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2015-2887"
},
{
"type": "WEB",
"url": "https://community.rapid7.com/community/infosec/blog/2015/09/02/iotsec-disclosure-10-new-vulns-for-several-video-baby-monitors"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-97HF-8CQ8-4RM3
Vulnerability from github – Published: 2026-08-13 21:36 – Updated: 2026-08-13 21:36An undocumented hard-coded credential, shared by all device units, is authorized to bypass authentication. This allows an attacker within Bluetooth range to arbitrarily manipulate brain stimulation parameters and state.
{
"affected": [],
"aliases": [
"CVE-2026-18164"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-13T20:17:19Z",
"severity": "HIGH"
},
"details": "An undocumented hard-coded credential, shared by all device units, is authorized to bypass authentication. This allows an attacker within Bluetooth range to arbitrarily manipulate brain stimulation parameters and state.",
"id": "GHSA-97hf-8cq8-4rm3",
"modified": "2026-08-13T21:36:07Z",
"published": "2026-08-13T21:36:07Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-18164"
},
{
"type": "WEB",
"url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsma-26-225-01.json"
},
{
"type": "WEB",
"url": "https://www.cisa.gov/news-events/ics-medical-advisories/icsma-26-225-01"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/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-97J3-QPRW-GMRP
Vulnerability from github – Published: 2026-10-08 09:31 – Updated: 2026-10-14 21:33Brocade ASCG before 3.5.0 has a well-known Brocade default password embedded in a script distributed to every customer. Any local authenticated user with read access to the installation path can discover this credential and perform privilege escalation on affected Open Virtual Appliance (OVA) deployments, where default configuration settings remain in place.
{
"affected": [],
"aliases": [
"CVE-2026-85488"
],
"database_specific": {
"cwe_ids": [
"CWE-798"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-08T07:16:32Z",
"severity": "HIGH"
},
"details": "Brocade ASCG before 3.5.0 has a well-known Brocade default password embedded in a script distributed to every customer. Any local authenticated user with read access to the installation path can discover this credential and perform privilege escalation on affected Open Virtual Appliance (OVA) deployments, where default configuration settings remain in place.",
"id": "GHSA-97j3-qprw-gmrp",
"modified": "2026-10-14T21:33:08Z",
"published": "2026-10-08T09:31:54Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85488"
},
{
"type": "WEB",
"url": "https://support.broadcom.com/external/content/SecurityAdvisories/0/38384"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/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"
}
]
}
Mitigation
- For outbound authentication: store passwords, keys, and other credentials outside of the code in a strongly-protected, encrypted configuration file or database that is protected from access by all outsiders, including other local users on the same system. Properly protect the key (CWE-320). If you cannot use encryption to protect the file, then make sure that the permissions are as restrictive as possible [REF-7].
- In Windows environments, the Encrypted File System (EFS) may provide some protection.
Mitigation
For inbound authentication: Rather than hard-code a default username and password, key, or other authentication credentials for first time logins, utilize a "first login" mode that requires the user to enter a unique strong password or key.
Mitigation
If the product must contain hard-coded credentials or they cannot be removed, perform access control checks and limit which entities can access the feature that requires the hard-coded credentials. For example, a feature might only be enabled through the system console instead of through a network connection.
Mitigation
- For inbound authentication using passwords: apply strong one-way hashes to passwords and store those hashes in a configuration file or database with appropriate access control. That way, theft of the file/database still requires the attacker to try to crack the password. When handling an incoming password during authentication, take the hash of the password and compare it to the saved hash.
- Use randomly assigned salts for each separate hash that is generated. This increases the amount of computation that an attacker needs to conduct a brute-force attack, possibly limiting the effectiveness of the rainbow table method.
Mitigation
- For front-end to back-end connections: Three solutions are possible, although none are complete.
- The first suggestion involves the use of generated passwords or keys that are changed automatically and must be entered at given time intervals by a system administrator. These passwords will be held in memory and only be valid for the time intervals.
- Next, the passwords or keys should be limited at the back end to only performing actions valid for the front end, as opposed to having full access.
- Finally, the messages sent should be tagged and checksummed with time sensitive values so as to prevent replay-style attacks.
CAPEC-191: Read Sensitive Constants Within an Executable
An adversary engages in activities to discover any sensitive constants present within the compiled code of an executable. These constants may include literal ASCII strings within the file itself, or possibly strings hard-coded into particular routines that can be revealed by code refactoring methods including static and dynamic analysis.
CAPEC-70: Try Common or Default Usernames and Passwords
An adversary may try certain common or default usernames and passwords to gain access into the system and perform unauthorized actions. An adversary may try an intelligent brute force using empty passwords, known vendor default credentials, as well as a dictionary of common usernames and passwords. Many vendor products come preconfigured with default (and thus well-known) usernames and passwords that should be deleted prior to usage in a production environment. It is a common mistake to forget to remove these default login credentials. Another problem is that users would pick very simple (common) passwords (e.g. "secret" or "password") that make it easier for the attacker to gain access to the system compared to using a brute force attack or even a dictionary attack using a full dictionary.