CWE-306
AllowedMissing Authentication for Critical Function
Abstraction: Base · Status: Draft
The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
4625 vulnerabilities reference this CWE, most recent first.
GHSA-J8RR-P259-7WPM
Vulnerability from github – Published: 2023-10-25 18:32 – Updated: 2024-09-25 12:30Missing authentication in the GetAssignmentsDue method in IDAttend’s IDWeb application 3.1.052 and earlier allows extraction of sensitive student and teacher data by unauthenticated attackers.
{
"affected": [],
"aliases": [
"CVE-2023-27259"
],
"database_specific": {
"cwe_ids": [
"CWE-287",
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-10-25T18:17:26Z",
"severity": "HIGH"
},
"details": "Missing authentication in the GetAssignmentsDue method in IDAttend\u2019s IDWeb application 3.1.052 and earlier allows extraction of sensitive student and teacher data by unauthenticated attackers. ",
"id": "GHSA-j8rr-p259-7wpm",
"modified": "2024-09-25T12:30:40Z",
"published": "2023-10-25T18:32:21Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-27259"
},
{
"type": "WEB",
"url": "https://www.themissinglink.com.au/security-advisories/cve-2023-27259"
}
],
"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-J926-CG89-W6QR
Vulnerability from github – Published: 2024-10-11 15:30 – Updated: 2024-10-11 15:30CWE-306: Missing Authentication for Critical Function vulnerability exists that could cause exposure of private data when an already generated “logcaptures” archive is accessed directly by HTTPS.
{
"affected": [],
"aliases": [
"CVE-2024-8530"
],
"database_specific": {
"cwe_ids": [
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-10-11T14:15:05Z",
"severity": "MODERATE"
},
"details": "CWE-306: Missing Authentication for Critical Function vulnerability exists that could\ncause exposure of private data when an already generated \u201clogcaptures\u201d archive is accessed\ndirectly by HTTPS.",
"id": "GHSA-j926-cg89-w6qr",
"modified": "2024-10-11T15:30:33Z",
"published": "2024-10-11T15:30:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-8530"
},
{
"type": "WEB",
"url": "https://download.schneider-electric.com/files?p_Doc_Ref=SEVD-2024-282-01\u0026p_enDocType=Security+and+Safety+Notice\u0026p_File_Name=SEVD-2024-282-01.pdf"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-J929-P4W2-GFW7
Vulnerability from github – Published: 2026-08-27 18:32 – Updated: 2026-08-27 18:32The Telnyx MCP server exposed its HTTP transport on every interface and did not require a caller credential. packages/mcp-server/src/http.ts served MCP on the root path with a listener bound to all interfaces and parsed the caller's authentication headers in a mode that did not fail when they were absent, so a request without any credential completed initialisation and dispatched tools. Dispatch forwarded the server's own stored credentials, the Telnyx API key and client secret together with the code-execution key, to the upstream endpoint, so an unauthenticated caller able to reach the port acted with them. The current code defaults the host to loopback, requires a server API key, and enforces it in middleware.
{
"affected": [],
"aliases": [
"CVE-2026-81098"
],
"database_specific": {
"cwe_ids": [
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-27T17:20:52Z",
"severity": "CRITICAL"
},
"details": "The Telnyx MCP server exposed its HTTP transport on every interface and did not require a caller credential. packages/mcp-server/src/http.ts served MCP on the root path with a listener bound to all interfaces and parsed the caller\u0027s authentication headers in a mode that did not fail when they were absent, so a request without any credential completed initialisation and dispatched tools. Dispatch forwarded the server\u0027s own stored credentials, the Telnyx API key and client secret together with the code-execution key, to the upstream endpoint, so an unauthenticated caller able to reach the port acted with them. The current code defaults the host to loopback, requires a server API key, and enforces it in middleware.",
"id": "GHSA-j929-p4w2-gfw7",
"modified": "2026-08-27T18:32:26Z",
"published": "2026-08-27T18:32:26Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/team-telnyx/telnyx-node/security/advisories/GHSA-46jp-xr2h-fw7h"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-81098"
},
{
"type": "WEB",
"url": "https://github.com/team-telnyx/telnyx-node/pull/450"
},
{
"type": "WEB",
"url": "https://github.com/team-telnyx/telnyx-node"
},
{
"type": "WEB",
"url": "https://www.vulncheck.com/advisories/telnyx-mcp-server-through-6.83.0-missing-authentication-on-streamable-http-transport"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/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-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-J934-W62C-3233
Vulnerability from github – Published: 2025-09-29 21:30 – Updated: 2025-10-09 18:30Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.1.102 and Application prior to version 25.1.1413 (VA/SaaS deployments) contains a /api-gateway/identity/search-groups endpoint that does not require authentication. Requests to https://.printercloud10.com/api-gateway/identity/search-groups and adjustments to the Host header allow an unauthenticated remote attacker to enumerate every group object stored for that tenant. The response includes internal identifiers (group ID, source service ID, Azure AD object IDs, creation timestamps, and tenant IDs). This vulnerability has been confirmed to be remediated, but it is unclear as to when the patch was introduced.
{
"affected": [],
"aliases": [
"CVE-2025-34220"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-09-29T21:15:35Z",
"severity": "MODERATE"
},
"details": "Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.1.102\u00a0and Application prior to version 25.1.1413\u00a0(VA/SaaS deployments) contains a\u00a0/api-gateway/identity/search-groups endpoint that does not require authentication.\u00a0Requests to https://\u003ctenant\u003e.printercloud10.com/api-gateway/identity/search-groups and adjustments to the `Host` header allow an unauthenticated remote attacker to enumerate every group object stored for that tenant. The response includes internal identifiers (group\u202fID, source service ID, Azure AD object IDs, creation timestamps, and tenant IDs). This vulnerability has been confirmed to be remediated, but it is unclear as to when the patch was introduced.",
"id": "GHSA-j934-w62c-3233",
"modified": "2025-10-09T18:30:27Z",
"published": "2025-09-29T21:30:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-34220"
},
{
"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-api-leak"
},
{
"type": "WEB",
"url": "https://www.vulncheck.com/advisories/vasion-print-printerlogic-unauth-api-leaks-group-info"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/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-J93G-RP6M-J32M
Vulnerability from github – Published: 2026-06-11 17:10 – Updated: 2026-06-11 17:10Summary
Arc registers Go's net/http/pprof handlers at /debug/pprof/* via app.Use(pprof.New()) in internal/api/server.go, and /debug/pprof is added to PublicPrefixes in cmd/arc/main.go. The auth middleware short-circuits before the token check on prefix match, so the endpoints are reachable without any authentication.
Impact
Any network-reachable caller (no token required) can:
- Fetch
/debug/pprof/heap— leaks in-memory state: live SQL strings, decoded msgpack records, decompressed request bodies, cached*TokenInfo(the auth cache keys on SHA-256 of the plaintext token atauth.go:543). - Fetch
/debug/pprof/goroutine?debug=2— leaks call stacks, identifying internal code paths. - Fetch
/debug/pprof/profile?seconds=N— pins a CPU core for arbitrary duration. Trivial DoS amplification (one short HTTP request → minutes of server CPU). - Fetch
/debug/pprof/trace— long-duration execution trace, similar DoS profile.
No authentication, no rate limiting, no resource bound on the seconds parameter.
Patches
https://github.com/Basekick-Labs/arc/releases/tag/v26.06.1
Planned mitigation:
- Gate pprof registration behind an env var (
ARC_DEBUG_PPROF=1) that defaults to off. - When enabled, bind pprof to a separate localhost-only listener (
127.0.0.1:6060via dedicatednet/httpserver) so it's never reachable from the public API port. - Remove
/debug/pproffromPublicPrefixes. - Fix the
HasPrefixbug where"/debug/pprofX"matches"/debug/pprof".
Workarounds
- Block
/debug/pprof*at a reverse proxy / load balancer in front of Arc. - Restrict Arc's API port to known-trusted networks via firewall rules.
- Patch the running build: comment out
app.Use(pprof.New())ininternal/api/server.goand rebuild.
Credits
Reported by Alex Manson (@NeuroWinter, https://neurowinter.com/) on 2026-05-19.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/basekick-labs/arc"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.0.0-20260520170331-32a4091fb949"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-48050"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-306",
"CWE-400"
],
"github_reviewed": true,
"github_reviewed_at": "2026-06-11T17:10:21Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "### Summary\n\nArc registers Go\u0027s `net/http/pprof` handlers at `/debug/pprof/*` via `app.Use(pprof.New())` in `internal/api/server.go`, and `/debug/pprof` is added to `PublicPrefixes` in `cmd/arc/main.go`. The auth middleware short-circuits before the token check on prefix match, so the endpoints are reachable without any authentication.\n\n### Impact\n\nAny network-reachable caller (no token required) can:\n\n- Fetch `/debug/pprof/heap` \u2014 leaks in-memory state: live SQL strings, decoded msgpack records, decompressed request bodies, cached `*TokenInfo` (the auth cache keys on SHA-256 of the plaintext token at `auth.go:543`).\n- Fetch `/debug/pprof/goroutine?debug=2` \u2014 leaks call stacks, identifying internal code paths.\n- Fetch `/debug/pprof/profile?seconds=N` \u2014 pins a CPU core for arbitrary duration. Trivial DoS amplification (one short HTTP request \u2192 minutes of server CPU).\n- Fetch `/debug/pprof/trace` \u2014 long-duration execution trace, similar DoS profile.\n\nNo authentication, no rate limiting, no resource bound on the `seconds` parameter.\n\n### Patches\n\nhttps://github.com/Basekick-Labs/arc/releases/tag/v26.06.1\n\nPlanned mitigation:\n\n1. Gate pprof registration behind an env var (`ARC_DEBUG_PPROF=1`) that defaults to off.\n2. When enabled, bind pprof to a separate localhost-only listener (`127.0.0.1:6060` via dedicated `net/http` server) so it\u0027s never reachable from the public API port.\n3. Remove `/debug/pprof` from `PublicPrefixes`.\n4. Fix the `HasPrefix` bug where `\"/debug/pprofX\"` matches `\"/debug/pprof\"`.\n\n### Workarounds\n\n- Block `/debug/pprof*` at a reverse proxy / load balancer in front of Arc.\n- Restrict Arc\u0027s API port to known-trusted networks via firewall rules.\n- Patch the running build: comment out `app.Use(pprof.New())` in `internal/api/server.go` and rebuild.\n\n### Credits\n\nReported by Alex Manson ([@NeuroWinter](https://github.com/NeuroWinter), https://neurowinter.com/) on 2026-05-19.",
"id": "GHSA-j93g-rp6m-j32m",
"modified": "2026-06-11T17:10:21Z",
"published": "2026-06-11T17:10:21Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/Basekick-Labs/arc/security/advisories/GHSA-j93g-rp6m-j32m"
},
{
"type": "WEB",
"url": "https://github.com/Basekick-Labs/arc/commit/32a4091fb949f9cf060cdd804a07f6450dc426a8"
},
{
"type": "PACKAGE",
"url": "https://github.com/Basekick-Labs/arc"
},
{
"type": "WEB",
"url": "https://github.com/Basekick-Labs/arc/releases/tag/v26.06.1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Arc: Unauthenticated access to Go debug pprof endpoints leaks runtime state and enables CPU-burn DoS"
}
GHSA-J94F-HQ72-QM3H
Vulnerability from github – Published: 2026-06-10 15:31 – Updated: 2026-06-10 15:31During an internal security assessment, a potential vulnerability was discovered in Lenovo Accessories and Display Manager for Enterprise for Windows that could allow a local authenticated user to execute arbitrary code with elevated privileges.
{
"affected": [],
"aliases": [
"CVE-2026-9045"
],
"database_specific": {
"cwe_ids": [
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-10T15:16:43Z",
"severity": "HIGH"
},
"details": "During an internal security assessment, a potential vulnerability was discovered in Lenovo Accessories and Display Manager for Enterprise for Windows that could allow a local authenticated user to execute arbitrary code with elevated privileges.",
"id": "GHSA-j94f-hq72-qm3h",
"modified": "2026-06-10T15:31:33Z",
"published": "2026-06-10T15:31:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9045"
},
{
"type": "WEB",
"url": "https://support.lenovo.com/us/en/downloads/ds568567"
},
{
"type": "WEB",
"url": "https://support.lenovo.com/us/en/product_security/LEN-213623"
}
],
"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:N/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"
}
]
}
GHSA-J956-PC3W-227X
Vulnerability from github – Published: 2022-11-10 12:01 – Updated: 2022-11-11 12:00VMware Workspace ONE Assist prior to 22.10 contains an Authentication Bypass vulnerability. A malicious actor with network access to Workspace ONE Assist may be able to obtain administrative access without the need to authenticate to the application.
{
"affected": [],
"aliases": [
"CVE-2022-31685"
],
"database_specific": {
"cwe_ids": [
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-11-09T21:15:00Z",
"severity": "CRITICAL"
},
"details": "VMware Workspace ONE Assist prior to 22.10 contains an Authentication Bypass vulnerability. A malicious actor with network access to Workspace ONE Assist may be able to obtain administrative access without the need to authenticate to the application.",
"id": "GHSA-j956-pc3w-227x",
"modified": "2022-11-11T12:00:34Z",
"published": "2022-11-10T12:01:16Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-31685"
},
{
"type": "WEB",
"url": "https://www.vmware.com/security/advisories/VMSA-2022-0028.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-J95M-VCJC-HM79
Vulnerability from github – Published: 2025-04-09 18:30 – Updated: 2025-04-09 21:31Missing Authentication for Critical Function vulnerability in Drupal Panels allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Panels: from 0.0.0 before 4.9.0.
{
"affected": [],
"aliases": [
"CVE-2025-3474"
],
"database_specific": {
"cwe_ids": [
"CWE-306"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-04-09T18:15:51Z",
"severity": "MODERATE"
},
"details": "Missing Authentication for Critical Function vulnerability in Drupal Panels allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Panels: from 0.0.0 before 4.9.0.",
"id": "GHSA-j95m-vcjc-hm79",
"modified": "2025-04-09T21:31:42Z",
"published": "2025-04-09T18:30:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-3474"
},
{
"type": "WEB",
"url": "https://www.drupal.org/sa-contrib-2025-033"
}
],
"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:N",
"type": "CVSS_V3"
}
]
}
GHSA-J9H8-PHRW-H4FH
Vulnerability from github – Published: 2021-08-25 14:48 – Updated: 2025-10-22 19:07Impact
The vulnerability may allow a remote attacker has sufficient rights to execute commands of the host only by manipulating the processed input stream. No user is affected, who followed the recommendation to setup XStream's security framework with a whitelist limited to the minimal required types.
Patches
XStream 1.4.18 uses no longer a blacklist by default, since it cannot be secured for general purpose.
Workarounds
See workarounds for the different versions covering all CVEs.
References
See full information about the nature of the vulnerability and the steps to reproduce it in XStream's documentation for CVE-2021-39144.
Credits
Ceclin and YXXX from the Tencent Security Response Center found and reported the issue to XStream and provided the required information to reproduce it.
For more information
If you have any questions or comments about this advisory: * Open an issue in XStream * Email us at XStream Google Group
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "com.thoughtworks.xstream:xstream"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.4.18"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-39144"
],
"database_specific": {
"cwe_ids": [
"CWE-306",
"CWE-502",
"CWE-94"
],
"github_reviewed": true,
"github_reviewed_at": "2021-08-23T18:22:07Z",
"nvd_published_at": "2021-08-23T18:15:00Z",
"severity": "HIGH"
},
"details": "### Impact\nThe vulnerability may allow a remote attacker has sufficient rights to execute commands of the host only by manipulating the processed input stream. No user is affected, who followed the recommendation to setup XStream\u0027s security framework with a whitelist limited to the minimal required types.\n\n### Patches\nXStream 1.4.18 uses no longer a blacklist by default, since it cannot be secured for general purpose.\n\n### Workarounds\nSee [workarounds](https://x-stream.github.io/security.html#workaround) for the different versions covering all CVEs.\n\n### References\nSee full information about the nature of the vulnerability and the steps to reproduce it in XStream\u0027s documentation for [CVE-2021-39144](https://x-stream.github.io/CVE-2021-39144.html).\n\n### Credits\n\nCeclin and YXXX from the Tencent Security Response Center found and reported the issue to XStream and provided the required information to reproduce it.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [XStream](https://github.com/x-stream/xstream/issues)\n* Email us at [XStream Google Group](https://groups.google.com/group/xstream-user)",
"id": "GHSA-j9h8-phrw-h4fh",
"modified": "2025-10-22T19:07:26Z",
"published": "2021-08-25T14:48:19Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/x-stream/xstream/security/advisories/GHSA-j9h8-phrw-h4fh"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-39144"
},
{
"type": "WEB",
"url": "https://x-stream.github.io/CVE-2021-39144.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpujul2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpujan2022.html"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cpuapr2022.html"
},
{
"type": "WEB",
"url": "https://www.debian.org/security/2021/dsa-5004"
},
{
"type": "WEB",
"url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-39144"
},
{
"type": "WEB",
"url": "https://security.netapp.com/advisory/ntap-20210923-0003"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QGXIU3YDPG6OGTDHMBLAFN7BPBERXREB"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PVPHZA7VW2RRSDCOIPP2W6O5ND254TU7"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/22KVR6B5IZP3BGQ3HPWIO2FWWCKT3DHP"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QGXIU3YDPG6OGTDHMBLAFN7BPBERXREB"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/PVPHZA7VW2RRSDCOIPP2W6O5ND254TU7"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/22KVR6B5IZP3BGQ3HPWIO2FWWCKT3DHP"
},
{
"type": "WEB",
"url": "https://lists.debian.org/debian-lts-announce/2021/09/msg00017.html"
},
{
"type": "PACKAGE",
"url": "https://github.com/x-stream/xstream"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/169859/VMware-NSX-Manager-XStream-Unauthenticated-Remote-Code-Execution.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H/E:H",
"type": "CVSS_V3"
}
],
"summary": "XStream is vulnerable to a Remote Command Execution attack"
}
Mitigation
- Divide the software into anonymous, normal, privileged, and administrative areas. Identify which of these areas require a proven user identity, and use a centralized authentication capability.
- Identify all potential communication channels, or other means of interaction with the software, to ensure that all channels are appropriately protected, including those channels that are assumed to be accessible only by authorized parties. Developers sometimes perform authentication at the primary channel, but open up a secondary channel that is assumed to be private. For example, a login mechanism may be listening on one network port, but after successful authentication, it may open up a second port where it waits for the connection, but avoids authentication because it assumes that only the authenticated party will connect to the port.
- In general, if the software or protocol allows a single session or user state to persist across multiple connections or channels, authentication and appropriate credential management need to be used throughout.
Mitigation MIT-15
For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.
Mitigation
- Where possible, avoid implementing custom, "grow-your-own" authentication routines and consider using authentication capabilities as provided by the surrounding framework, operating system, or environment. These capabilities may avoid common weaknesses that are unique to authentication; support automatic auditing and tracking; and make it easier to provide a clear separation between authentication tasks and authorization tasks.
- In environments such as the World Wide Web, the line between authentication and authorization is sometimes blurred. If custom authentication routines are required instead of those provided by the server, then these routines must be applied to every single page, since these pages could be requested directly.
Mitigation MIT-4.5
Strategy: Libraries or Frameworks
- Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
- For example, consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator [REF-45].
Mitigation
When storing data in the cloud (e.g., S3 buckets, Azure blobs, Google Cloud Storage, etc.), use the provider's controls to require strong authentication for users who should be allowed to access the data [REF-1297] [REF-1298] [REF-1302].
CAPEC-12: Choosing Message Identifier
This pattern of attack is defined by the selection of messages distributed via multicast or public information channels that are intended for another client by determining the parameter value assigned to that client. This attack allows the adversary to gain access to potentially privileged information, and to possibly perpetrate other attacks through the distribution means by impersonation. If the channel/message being manipulated is an input rather than output mechanism for the system, (such as a command bus), this style of attack could be used to change the adversary's identifier to more a privileged one.
CAPEC-166: Force the System to Reset Values
An attacker forces the target into a previous state in order to leverage potential weaknesses in the target dependent upon a prior configuration or state-dependent factors. Even in cases where an attacker may not be able to directly control the configuration of the targeted application, they may be able to reset the configuration to a prior state since many applications implement reset functions.
CAPEC-216: Communication Channel Manipulation
An adversary manipulates a setting or parameter on communications channel in order to compromise its security. This can result in information exposure, insertion/removal of information from the communications stream, and/or potentially system compromise.
CAPEC-36: Using Unpublished Interfaces or Functionality
An adversary searches for and invokes interfaces or functionality that the target system designers did not intend to be publicly available. If interfaces fail to authenticate requests, the attacker may be able to invoke functionality they are not authorized for.
CAPEC-62: Cross Site Request Forgery
An attacker crafts malicious web links and distributes them (via web pages, email, etc.), typically in a targeted manner, hoping to induce users to click on the link and execute the malicious action against some third-party application. If successful, the action embedded in the malicious link will be processed and accepted by the targeted application with the users' privilege level. This type of attack leverages the persistence and implicit trust placed in user session cookies by many web applications today. In such an architecture, once the user authenticates to an application and a session cookie is created on the user's system, all following transactions for that session are authenticated using that cookie including potential actions initiated by an attacker and simply "riding" the existing session cookie.