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.
983 vulnerabilities reference this CWE, most recent first.
GHSA-J92P-C242-7HFX
Vulnerability from github – Published: 2026-10-09 16:40 – Updated: 2026-10-09 16:40Summary
The /web/<path:filename> route in src/pyload/webui/app/blueprints/app_blueprint.py renders Jinja2 templates without any authentication requirement. Every equivalent direct route (/logs, /settings, /queue, /dashboard, etc.) is protected by @login_required, but the underlying templates for all of these pages are accessible unauthenticated via this endpoint. Combined with an exception attribute typo in src/pyload/webui/app/handlers.py (exc.desc instead of exc.description), internal Jinja2 variable names are leaked in HTTP 500 response bodies to unauthenticated callers. An attacker can also enumerate all valid template names by observing 200 vs 500 response differentiation.
Details
Bug 1 — Missing authentication on /web/<path:filename>
File: src/pyload/webui/app/blueprints/app_blueprint.py, lines 32–36
@bp.route("/web/<path:filename>", endpoint="web")
def render(filename): # ← no @login_required
mimetype = mimetypes.guess_type(filename)[0] or "text/html"
data = render_template(filename)
return flask.Response(data, mimetype=mimetype)
Every other sensitive route in the same file is protected:
@bp.route("/logs", ...)
@login_required("LIST") # protected
@bp.route("/settings", ...)
@login_required("SETTINGS") # protected
@bp.route("/files", ...)
@login_required("DOWNLOAD") # protected
The /web/<path:filename> route has no such decorator, allowing any unauthenticated HTTP client to render arbitrary templates by supplying their filename in the URL path.
Bug 2 — Exception attribute typo causes internal details in error responses
File: src/pyload/webui/app/handlers.py, lines 12–20
def handle_exception_error(exc):
try:
code = exc.code
desc = exc.desc # BUG: attribute does not exist on standard exceptions
except AttributeError: # always raised — falls here for every exception
code = 500
desc = exc # raw exception object assigned to desc
message = f"Error {code}: {desc}" # str(exc) embedded in response body
return render_template("error.html", messages=[message]), code
exc.desc does not exist on standard Python or Jinja2 exceptions. The AttributeError branch is always taken for template rendering failures. desc is set to the raw exception object, and str(exc) is embedded in the HTML response body returned to the unauthenticated caller. For a UndefinedError this produces 'conf' is undefined. For TemplateNotFound it produces the template filename.
PoC
Tested against pyload-ng develop branch (0.5.0b3.dev), default install, no authentication cookies or credentials used in any request.
Test 1 — Unauthenticated page render confirmed (HTTP 200)
curl -si http://TARGET:8000/web/logs.html | grep "HTTP\|title"
Test 2 — System info page with sensitive field labels rendered unauthenticated ```curl -s http://TARGET:8000/web/info.html | grep "Python Version|Installation Folder|Config Folder|OS Platform" html
Python Version: OS Platform: Installation Folder: Config Folder:```
Test 3 — Internal Jinja2 variable name leaked in HTTP 500 body (unauthenticated) ```curl -si http://TARGET:8000/web/settings.html | grep "HTTP|Error" HTTP/1.1 500 INTERNAL SERVER ERROR
Error 500: 'conf' is undefined
Test 4 — Template enumeration via response code differentiationcurl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/logs.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/info.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/dashboard.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/settings.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/queue.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/collector.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/filemanager.html
curl -o /dev/null -sw "%{http_code}\n" http://TARGET:8000/web/nonexistent_xyz.html
200 ← logs.html (exists, renders without auth)
200 ← info.html (exists, renders without auth)
200 ← dashboard.html (exists, renders without auth)
500 ← settings.html (exists, missing auth context — leaks 'conf' is undefined)
500 ← queue.html (exists, missing auth context)
500 ← collector.html (exists, missing auth context)
500 ← filemanager.html (exists, missing auth context)
500 ← nonexistent_xyz (does not exist — same 500, no differentiation on miss)```
Impact
An unauthenticated remote attacker can:
Render application page templates without any credentials, bypassing the access control model enforced on all direct routes Access the system information page (info.html) exposing field structure for Python version, OS platform, pyLoad version, installation folder, config folder, and WebUI port — values are populated via JS but field labels confirm application structure Access the full log viewer UI (logs.html) and download dashboard (dashboard.html) without authentication Extract internal Jinja2 template variable names from HTTP 500 response bodies ('conf' is undefined, etc.) Enumerate all valid template filenames by observing 200 vs 500 response codes
The access control inconsistency is the core issue: the authentication model enforced on direct routes is completely bypassed via the /web/ endpoint. Any future template that renders sensitive data server-side would be immediately exposed to unauthenticated access through this route.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 0.5.0b3.dev100"
},
"package": {
"ecosystem": "PyPI",
"name": "pyload-ng"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.5.0b3.dev101"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-75597"
],
"database_specific": {
"cwe_ids": [
"CWE-209",
"CWE-306"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-09T16:40:30Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Summary\n\nThe `/web/\u003cpath:filename\u003e` route in `src/pyload/webui/app/blueprints/app_blueprint.py` renders Jinja2 templates without any authentication requirement. Every equivalent direct route (`/logs`, `/settings`, `/queue`, `/dashboard`, etc.) is protected by `@login_required`, but the underlying templates for all of these pages are accessible unauthenticated via this endpoint. Combined with an exception attribute typo in `src/pyload/webui/app/handlers.py` (`exc.desc` instead of `exc.description`), internal Jinja2 variable names are leaked in HTTP 500 response bodies to unauthenticated callers. An attacker can also enumerate all valid template names by observing 200 vs 500 response differentiation.\n\n### Details\n\n**Bug 1 \u2014 Missing authentication on `/web/\u003cpath:filename\u003e`**\n\nFile: `src/pyload/webui/app/blueprints/app_blueprint.py`, lines 32\u201336\n\n```python\n@bp.route(\"/web/\u003cpath:filename\u003e\", endpoint=\"web\")\ndef render(filename): # \u2190 no @login_required\n mimetype = mimetypes.guess_type(filename)[0] or \"text/html\"\n data = render_template(filename)\n return flask.Response(data, mimetype=mimetype)\n```\n\nEvery other sensitive route in the same file is protected:\n\n```python\n@bp.route(\"/logs\", ...)\n@login_required(\"LIST\") # protected\n\n@bp.route(\"/settings\", ...)\n@login_required(\"SETTINGS\") # protected\n\n@bp.route(\"/files\", ...)\n@login_required(\"DOWNLOAD\") # protected\n```\n\nThe `/web/\u003cpath:filename\u003e` route has no such decorator, allowing any unauthenticated HTTP client to render arbitrary templates by supplying their filename in the URL path.\n\n**Bug 2 \u2014 Exception attribute typo causes internal details in error responses**\n\nFile: `src/pyload/webui/app/handlers.py`, lines 12\u201320\n\n```python\ndef handle_exception_error(exc):\n try:\n code = exc.code\n desc = exc.desc # BUG: attribute does not exist on standard exceptions\n except AttributeError: # always raised \u2014 falls here for every exception\n code = 500\n desc = exc # raw exception object assigned to desc\n message = f\"Error {code}: {desc}\" # str(exc) embedded in response body\n return render_template(\"error.html\", messages=[message]), code\n```\n\n`exc.desc` does not exist on standard Python or Jinja2 exceptions. The `AttributeError` branch is always taken for template rendering failures. `desc` is set to the raw exception object, and `str(exc)` is embedded in the HTML response body returned to the unauthenticated caller. For a `UndefinedError` this produces `\u0027conf\u0027 is undefined`. For `TemplateNotFound` it produces the template filename.\n\n### PoC\n\nTested against pyload-ng develop branch (`0.5.0b3.dev`), default install, no authentication cookies or credentials used in any request.\n\n**Test 1 \u2014 Unauthenticated page render confirmed (HTTP 200)**\n```bash\ncurl -si http://TARGET:8000/web/logs.html | grep \"HTTP\\|title\"\n\n```\n\nTest 2 \u2014 System info page with sensitive field labels rendered unauthenticated\n```curl -s http://TARGET:8000/web/info.html | grep \"Python Version\\|Installation Folder\\|Config Folder\\|OS Platform\"\nhtml\n\n\u003cdt\u003e\u003cb\u003ePython Version:\u003c/b\u003e\u003c/dt\u003e\n\u003cdt\u003e\u003cb\u003eOS Platform:\u003c/b\u003e\u003c/dt\u003e\n\u003cdt\u003e\u003cb\u003eInstallation Folder:\u003c/b\u003e\u003c/dt\u003e\n\u003cdt\u003e\u003cb\u003eConfig Folder:\u003c/b\u003e\u003c/dt\u003e```\n\nTest 3 \u2014 Internal Jinja2 variable name leaked in HTTP 500 body (unauthenticated)\n```curl -si http://TARGET:8000/web/settings.html | grep \"HTTP\\|Error\"\nHTTP/1.1 500 INTERNAL SERVER ERROR\n\u003cp\u003e\u003cb\u003eError 500: \u0027conf\u0027 is undefined\u003c/b\u003e\u003c/p\u003e```\nTest 4 \u2014 Template enumeration via response code differentiation\n```curl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/logs.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/info.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/dashboard.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/settings.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/queue.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/collector.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/filemanager.html\ncurl -o /dev/null -sw \"%{http_code}\\n\" http://TARGET:8000/web/nonexistent_xyz.html\n200 \u2190 logs.html (exists, renders without auth)\n200 \u2190 info.html (exists, renders without auth)\n200 \u2190 dashboard.html (exists, renders without auth)\n500 \u2190 settings.html (exists, missing auth context \u2014 leaks \u0027conf\u0027 is undefined)\n500 \u2190 queue.html (exists, missing auth context)\n500 \u2190 collector.html (exists, missing auth context)\n500 \u2190 filemanager.html (exists, missing auth context)\n500 \u2190 nonexistent_xyz (does not exist \u2014 same 500, no differentiation on miss)```\n\n###Impact\nAn unauthenticated remote attacker can:\n\nRender application page templates without any credentials, bypassing the access control model enforced on all direct routes\nAccess the system information page (info.html) exposing field structure for Python version, OS platform, pyLoad version, installation folder, config folder, and WebUI port \u2014 values are populated via JS but field labels confirm application structure\nAccess the full log viewer UI (logs.html) and download dashboard (dashboard.html) without authentication\nExtract internal Jinja2 template variable names from HTTP 500 response bodies (\u0027conf\u0027 is undefined, etc.)\nEnumerate all valid template filenames by observing 200 vs 500 response codes\n\nThe access control inconsistency is the core issue: the authentication model enforced on direct routes is completely bypassed via the /web/\u003cpath:filename\u003e endpoint. Any future template that renders sensitive data server-side would be immediately exposed to unauthenticated access through this route.",
"id": "GHSA-j92p-c242-7hfx",
"modified": "2026-10-09T16:40:30Z",
"published": "2026-10-09T16:40:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/pyload/pyload/security/advisories/GHSA-j92p-c242-7hfx"
},
{
"type": "WEB",
"url": "https://github.com/pyload/pyload/commit/e80c940cd604e60d93e3164429d4fc4aac54468d"
},
{
"type": "PACKAGE",
"url": "https://github.com/pyload/pyload"
}
],
"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"
}
],
"summary": "pyLoad: Unauthenticated access to /web/\u003cpath:filename\u003e bypasses authentication on sensitive templates and leaks internal error details via exception attribute typo"
}
GHSA-J9V2-2X9X-CMCF
Vulnerability from github – Published: 2024-01-03 03:30 – Updated: 2025-06-18 18:30HCL DRYiCE MyXalytics is impacted by an improper error handling vulnerability. The application returns detailed error messages that can provide an attacker with insight into the application, system, etc.
{
"affected": [],
"aliases": [
"CVE-2023-50348"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-01-03T02:15:44Z",
"severity": "LOW"
},
"details": "HCL DRYiCE MyXalytics is impacted by an improper error handling vulnerability. The application returns detailed error messages that can provide an attacker with insight into the application, system, etc.",
"id": "GHSA-j9v2-2x9x-cmcf",
"modified": "2025-06-18T18:30:21Z",
"published": "2024-01-03T03:30:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50348"
},
{
"type": "WEB",
"url": "https://support.hcltechsw.com/csm?id=kb_article\u0026sysparm_article=KB0109608"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-JFWG-RXF3-P7R9
Vulnerability from github – Published: 2026-04-06 17:56 – Updated: 2026-04-06 17:56Vulnerability Details
CWE: CWE-943 - Improper Neutralization of Special Elements in Data Query Logic
All 66+ CQL queries in internal/storage/db/cassandradb/ use fmt.Sprintf to interpolate user-controlled values directly into CQL query strings without parameterization.
Unauthenticated endpoints (signup, login, forgot_password, magic_link_login) pass user input directly into CQL query strings.
Note: This advisory covers the Cassandra CQL injection only. The Couchbase N1QL injection is tracked in a separate advisory per CVE rule 4.2.11.
Affected Code Pattern
// Before (VULNERABLE) - e.g. cassandradb/user.go
query := fmt.Sprintf("SELECT ... FROM %s WHERE email = '%s'", table, email)
err := p.db.Query(query).Scan(...)
Steps to Reproduce
- Deploy Authorizer <= 2.0.0 with Cassandra backend
- Send a signup request with a CQL injection payload in the email field:
curl -X POST http://localhost:8080/graphql \
-H 'Content-Type: application/json' \
-d '{"query":"mutation { signup(params: { email: \"test'\" }) { message } }"}'
- The single quote breaks out of the CQL string literal, causing a CQL parse error that leaks internal schema information
- Crafted payloads can manipulate query logic to bypass authentication or extract data
Affected Files (10 Cassandra files)
| Package | File | Queries Fixed |
|---|---|---|
| cassandradb | user.go | 7 |
| cassandradb | otp.go | 4 |
| cassandradb | session_token.go | 19 |
| cassandradb | verification_requests.go | 4 |
| cassandradb | authenticator.go | 3 |
| cassandradb | email_template.go | 5 |
| cassandradb | webhook.go | 5 |
| cassandradb | webhook_log.go | 2 |
| cassandradb | session.go | 1 |
| cassandradb | env.go | 2 |
Impact
An unauthenticated attacker can inject arbitrary CQL operators through the email, phone, or token parameters on public-facing endpoints (signup, login, forgot_password, magic_link_login). This enables authentication bypass and data exfiltration from the Cassandra keyspace.
Proposed Fix
Use parameterized queries:
// After (FIXED)
query := fmt.Sprintf("SELECT ... FROM %s WHERE email = ?", table)
err := p.db.Query(query, email).Scan(...)
Fixed in https://github.com/authorizerdev/authorizer/pull/500 (merged 2026-03-27).
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/authorizerdev/authorizer"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.0.0-20260327055742-73679faa53cd"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-209",
"CWE-943"
],
"github_reviewed": true,
"github_reviewed_at": "2026-04-06T17:56:31Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "## Vulnerability Details\n\n**CWE:** CWE-943 - Improper Neutralization of Special Elements in Data Query Logic\n\nAll 66+ CQL queries in `internal/storage/db/cassandradb/` use `fmt.Sprintf` to interpolate user-controlled values directly into CQL query strings without parameterization.\n\nUnauthenticated endpoints (`signup`, `login`, `forgot_password`, `magic_link_login`) pass user input directly into CQL query strings.\n\n**Note:** This advisory covers the Cassandra CQL injection only. The Couchbase N1QL injection is tracked in a separate advisory per CVE rule 4.2.11.\n\n## Affected Code Pattern\n\n```go\n// Before (VULNERABLE) - e.g. cassandradb/user.go\nquery := fmt.Sprintf(\"SELECT ... FROM %s WHERE email = \u0027%s\u0027\", table, email)\nerr := p.db.Query(query).Scan(...)\n```\n\n## Steps to Reproduce\n\n1. Deploy Authorizer \u003c= 2.0.0 with Cassandra backend\n2. Send a signup request with a CQL injection payload in the email field:\n\n```bash\ncurl -X POST http://localhost:8080/graphql \\\n -H \u0027Content-Type: application/json\u0027 \\\n -d \u0027{\"query\":\"mutation { signup(params: { email: \\\"test\u0027\\\" }) { message } }\"}\u0027\n```\n\n3. The single quote breaks out of the CQL string literal, causing a CQL parse error that leaks internal schema information\n4. Crafted payloads can manipulate query logic to bypass authentication or extract data\n\n## Affected Files (10 Cassandra files)\n\n| Package | File | Queries Fixed |\n|---------|------|--------------|\n| cassandradb | user.go | 7 |\n| cassandradb | otp.go | 4 |\n| cassandradb | session_token.go | 19 |\n| cassandradb | verification_requests.go | 4 |\n| cassandradb | authenticator.go | 3 |\n| cassandradb | email_template.go | 5 |\n| cassandradb | webhook.go | 5 |\n| cassandradb | webhook_log.go | 2 |\n| cassandradb | session.go | 1 |\n| cassandradb | env.go | 2 |\n\n## Impact\n\nAn unauthenticated attacker can inject arbitrary CQL operators through the email, phone, or token parameters on public-facing endpoints (signup, login, forgot_password, magic_link_login). This enables authentication bypass and data exfiltration from the Cassandra keyspace.\n\n## Proposed Fix\n\nUse parameterized queries:\n\n```go\n// After (FIXED)\nquery := fmt.Sprintf(\"SELECT ... FROM %s WHERE email = ?\", table)\nerr := p.db.Query(query, email).Scan(...)\n```\n\nFixed in https://github.com/authorizerdev/authorizer/pull/500 (merged 2026-03-27).",
"id": "GHSA-jfwg-rxf3-p7r9",
"modified": "2026-04-06T17:56:31Z",
"published": "2026-04-06T17:56:31Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/authorizerdev/authorizer/security/advisories/GHSA-jfwg-rxf3-p7r9"
},
{
"type": "WEB",
"url": "https://github.com/authorizerdev/authorizer/pull/500"
},
{
"type": "WEB",
"url": "https://github.com/authorizerdev/authorizer/commit/73679faa53cd215c7524d651046e402c43809786"
},
{
"type": "PACKAGE",
"url": "https://github.com/authorizerdev/authorizer"
},
{
"type": "WEB",
"url": "https://github.com/authorizerdev/authorizer/releases/tag/2.0.1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
}
],
"summary": "Authorizer: CQL/N1QL Injection in Cassandra and Couchbase Backends via fmt.Sprintf String Interpolation"
}
GHSA-JG6V-CRQ7-F587
Vulnerability from github – Published: 2026-04-08 15:31 – Updated: 2026-04-08 15:31Dell PowerScale OneFS, versions 9.5.0.0 through 9.10.1.6 and versions 9.11.0.0 through 9.13.0.0, contains a generation of error message containing sensitive information vulnerability. A high privileged attacker with local access could potentially exploit this vulnerability, leading to information disclosure.
{
"affected": [],
"aliases": [
"CVE-2026-24511"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-08T13:16:40Z",
"severity": "MODERATE"
},
"details": "Dell PowerScale OneFS, versions 9.5.0.0 through 9.10.1.6 and\u00a0versions 9.11.0.0 through 9.13.0.0, contains a generation of error message containing sensitive information vulnerability. A\u00a0high privileged attacker with local access\u00a0could potentially exploit this vulnerability, leading to information disclosure.",
"id": "GHSA-jg6v-crq7-f587",
"modified": "2026-04-08T15:31:43Z",
"published": "2026-04-08T15:31:43Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-24511"
},
{
"type": "WEB",
"url": "https://www.dell.com/support/kbdoc/en-us/000449337/dsa-2026-125-security-update-for-dell-powerscale-onefs-multiple-vulnerabilities"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-JH3R-77V7-VR84
Vulnerability from github – Published: 2022-06-29 00:00 – Updated: 2022-07-10 00:00Dell PowerScale OneFS, 8.2.x through 9.3.0.x, contain an error message with sensitive information. An administrator could potentially exploit this vulnerability, leading to disclosure of sensitive information. This sensitive information can be used to access sensitive resources.
{
"affected": [],
"aliases": [
"CVE-2022-31229"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-06-28T19:15:00Z",
"severity": "MODERATE"
},
"details": "Dell PowerScale OneFS, 8.2.x through 9.3.0.x, contain an error message with sensitive information. An administrator could potentially exploit this vulnerability, leading to disclosure of sensitive information. This sensitive information can be used to access sensitive resources.",
"id": "GHSA-jh3r-77v7-vr84",
"modified": "2022-07-10T00:00:47Z",
"published": "2022-06-29T00:00:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-31229"
},
{
"type": "WEB",
"url": "https://www.dell.com/support/kbdoc/en-us/000200681/dsa-2022-118-dell-emc-powerscale-onefs-security-update?lang=en"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-JHPR-J7CQ-3JP3
Vulnerability from github – Published: 2023-06-22 19:59 – Updated: 2024-11-18 16:26Impact
An authenticated malicious actor with Admin privileges, could by adding a special character on the add, edit User forms trigger a database error, this error is surfaced back to this actor on the UI. On certain database engines this error can include the entire user row including the pbkdf2:sha256 hashed password.
Patches
Fixed on 4.3.2
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "Flask-AppBuilder"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.3.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2023-34110"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": true,
"github_reviewed_at": "2023-06-22T19:59:03Z",
"nvd_published_at": "2023-06-22T23:15:09Z",
"severity": "MODERATE"
},
"details": "### Impact\nAn authenticated malicious actor with Admin privileges, could by adding a special character on the add, edit User forms trigger a database error, this error is surfaced back to this actor on the UI. On certain database engines this error can include the entire user row including the pbkdf2:sha256 hashed password.\n \n### Patches\nFixed on 4.3.2\n",
"id": "GHSA-jhpr-j7cq-3jp3",
"modified": "2024-11-18T16:26:30Z",
"published": "2023-06-22T19:59:03Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/dpgaspar/Flask-AppBuilder/security/advisories/GHSA-jhpr-j7cq-3jp3"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-34110"
},
{
"type": "WEB",
"url": "https://github.com/dpgaspar/Flask-AppBuilder/pull/2045"
},
{
"type": "WEB",
"url": "https://github.com/dpgaspar/Flask-AppBuilder/commit/ae25ad4c87a9051ebe4a4e8f02aee73232642626"
},
{
"type": "PACKAGE",
"url": "https://github.com/dpgaspar/Flask-AppBuilder"
},
{
"type": "WEB",
"url": "https://github.com/dpgaspar/Flask-AppBuilder/releases/tag/v4.3.2"
},
{
"type": "WEB",
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/flask-appbuilder/PYSEC-2023-94.yaml"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Flask-AppBuilder vulnerable to possible disclosure of sensitive information on user error"
}
GHSA-JJ7W-RGJ3-P8JW
Vulnerability from github – Published: 2025-03-13 06:30 – Updated: 2025-03-13 06:30An issue was discovered in GitLab EE/CE affecting all versions starting from 11.5 before 17.7.7, all versions starting from 17.8 before 17.8.5, all versions starting from 17.9 before 17.9.2. Certain user inputs in repository mirroring settings could potentially expose sensitive authentication information.
{
"affected": [],
"aliases": [
"CVE-2024-12380"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-03-13T06:15:35Z",
"severity": "MODERATE"
},
"details": "An issue was discovered in GitLab EE/CE affecting all versions starting from 11.5 before 17.7.7, all versions starting from 17.8 before 17.8.5, all versions starting from 17.9 before 17.9.2. Certain user inputs in repository mirroring settings could potentially expose sensitive authentication information.",
"id": "GHSA-jj7w-rgj3-p8jw",
"modified": "2025-03-13T06:30:34Z",
"published": "2025-03-13T06:30:34Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-12380"
},
{
"type": "WEB",
"url": "https://hackerone.com/reports/2868951"
},
{
"type": "WEB",
"url": "https://gitlab.com/gitlab-org/gitlab/-/issues/508557"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-JJF7-F765-JJF2
Vulnerability from github – Published: 2022-05-24 16:57 – Updated: 2022-05-24 16:57RSA BSAFE Micro Edition Suite versions prior to 4.1.6.3 (in 4.1.x) and prior to 4.4 (in 4.2.x and 4.3.x), are vulnerable to an Information Exposure Through an Error Message vulnerability, also known as a ?padding oracle attack vulnerability?. A malicious remote user could potentially exploit this vulnerability to extract information leaving data at risk of exposure.
{
"affected": [],
"aliases": [
"CVE-2019-3730"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-09-30T22:15:00Z",
"severity": "MODERATE"
},
"details": "RSA BSAFE Micro Edition Suite versions prior to 4.1.6.3 (in 4.1.x) and prior to 4.4 (in 4.2.x and 4.3.x), are vulnerable to an Information Exposure Through an Error Message vulnerability, also known as a ?padding oracle attack vulnerability?. A malicious remote user could potentially exploit this vulnerability to extract information leaving data at risk of exposure.",
"id": "GHSA-jjf7-f765-jjf2",
"modified": "2022-05-24T16:57:32Z",
"published": "2022-05-24T16:57:32Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-3730"
},
{
"type": "WEB",
"url": "https://www.dell.com/support/kbdoc/000194054"
},
{
"type": "WEB",
"url": "https://www.dell.com/support/security/en-us/details/DOC-107000/DSA-2019-079-RSA-BSAFE\u0026#174;-Crypto-C-Micro-Edition-and-Micro-Edition-Suite-Multiple-Security-Vulnerab"
}
],
"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-JJH9-429M-VVV4
Vulnerability from github – Published: 2025-11-14 18:31 – Updated: 2025-11-14 21:30A vulnerability was found in the Application Server of Desktop Alert PingAlert version 6.1.0.11 to 6.1.1.2 which allows Technical Information to be Disclosed through stack trace.
{
"affected": [],
"aliases": [
"CVE-2025-54562"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-11-14T18:15:49Z",
"severity": "MODERATE"
},
"details": "A vulnerability was found in the Application Server of Desktop Alert PingAlert version 6.1.0.11 to 6.1.1.2 which allows Technical Information to be Disclosed through stack trace.",
"id": "GHSA-jjh9-429m-vvv4",
"modified": "2025-11-14T21:30:29Z",
"published": "2025-11-14T18:31:39Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54562"
},
{
"type": "WEB",
"url": "https://desktopalert.net"
},
{
"type": "WEB",
"url": "https://desktopalert.net/cve-2025-54562"
}
],
"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-JJPG-4X84-PRMP
Vulnerability from github – Published: 2024-03-25 12:30 – Updated: 2024-11-06 18:31In the Linux kernel, the following vulnerability has been resolved:
spi: spi-fsl-dspi: Fix a resource leak in an error handling path
'dspi_request_dma()' should be undone by a 'dspi_release_dma()' call in the error handling path of the probe function, as already done in the remove function
{
"affected": [],
"aliases": [
"CVE-2021-47161"
],
"database_specific": {
"cwe_ids": [
"CWE-209"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-03-25T10:15:08Z",
"severity": "MODERATE"
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: spi-fsl-dspi: Fix a resource leak in an error handling path\n\n\u0027dspi_request_dma()\u0027 should be undone by a \u0027dspi_release_dma()\u0027 call in the\nerror handling path of the probe function, as already done in the remove\nfunction",
"id": "GHSA-jjpg-4x84-prmp",
"modified": "2024-11-06T18:31:04Z",
"published": "2024-03-25T12:30:51Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-47161"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/00450ed03a17143e2433b461a656ef9cd17c2f1d"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/10a089bae827ec30ad9b6cb7048020a62fae0cfa"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/12391be4724acc9269e1845ccbd881df37de4b56"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/15d1cc4b4b585f9a2ce72c52cca004d5d735bdf1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/680ec0549a055eb464dce6ffb4bfb736ef87236e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/fe6921e3b8451a537e01c031b8212366bb386e3e"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"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.