Common Weakness Enumeration

CWE-863

Allowed-with-Review

Incorrect Authorization

Abstraction: Class · Status: Incomplete

The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

5659 vulnerabilities reference this CWE, most recent first.

GHSA-84PV-V7VG-7784

Vulnerability from github – Published: 2023-04-13 00:30 – Updated: 2024-04-04 03:25
VLAI
Details

An issue was discovered in SecurePoint UTM before 12.2.5.1. The firewall's endpoint at /spcgi.cgi allows sessionid information disclosure via an invalid authentication attempt. This can afterwards be used to bypass the device's authentication and get access to the administrative interface.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2023-22620"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2023-04-12T23:15:00Z",
    "severity": "HIGH"
  },
  "details": "An issue was discovered in SecurePoint UTM before 12.2.5.1. The firewall\u0027s endpoint at /spcgi.cgi allows sessionid information disclosure via an invalid authentication attempt. This can afterwards be used to bypass the device\u0027s authentication and get access to the administrative interface.",
  "id": "GHSA-84pv-v7vg-7784",
  "modified": "2024-04-04T03:25:45Z",
  "published": "2023-04-13T00:30:48Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-22620"
    },
    {
      "type": "WEB",
      "url": "https://github.com/MrTuxracer/advisories/blob/master/CVEs/CVE-2023-22620.txt"
    },
    {
      "type": "WEB",
      "url": "https://rcesecurity.com"
    },
    {
      "type": "WEB",
      "url": "http://packetstormsecurity.com/files/171924/SecurePoint-UTM-12.x-Session-ID-Leak.html"
    },
    {
      "type": "WEB",
      "url": "http://seclists.org/fulldisclosure/2023/Apr/7"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-84VX-G296-GXV9

Vulnerability from github – Published: 2023-05-10 15:30 – Updated: 2024-04-04 03:59
VLAI
Details

Improper authorization in the Intel(R) SCS software all versions may allow an authenticated user to potentially enable denial of service via local access.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2022-43465"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-285",
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2023-05-10T14:15:23Z",
    "severity": "MODERATE"
  },
  "details": "Improper authorization in the Intel(R) SCS software all versions may allow an authenticated user to potentially enable denial of service via local access.",
  "id": "GHSA-84vx-g296-gxv9",
  "modified": "2024-04-04T03:59:59Z",
  "published": "2023-05-10T15:30:21Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-43465"
    },
    {
      "type": "WEB",
      "url": "https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00796.html"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-84XH-PWC6-7G4G

Vulnerability from github – Published: 2025-02-05 18:34 – Updated: 2026-01-27 15:30
VLAI
Details

When multiple server blocks are configured to share the same IP address and port, an attacker can use session resumption to bypass client certificate authentication requirements on these servers. This vulnerability arises when TLS Session Tickets https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_ticket_key are used and/or the SSL session cache https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache are used in the default server and the default server is performing client certificate authentication.  

Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2025-23419"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-287",
      "CWE-613",
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-02-05T18:15:33Z",
    "severity": "MODERATE"
  },
  "details": "When multiple server blocks are configured to share the same IP address and port, an attacker can use session resumption to bypass client certificate authentication requirements on these servers. This vulnerability arises when  TLS Session Tickets https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_ticket_key  are used and/or the  SSL session cache https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache  are used in the default server and the default server is performing client certificate authentication.\u00a0\u00a0\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated.",
  "id": "GHSA-84xh-pwc6-7g4g",
  "modified": "2026-01-27T15:30:26Z",
  "published": "2025-02-05T18:34:46Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-23419"
    },
    {
      "type": "WEB",
      "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00017.html"
    },
    {
      "type": "WEB",
      "url": "https://my.f5.com/manage/s/article/K000149173"
    },
    {
      "type": "WEB",
      "url": "http://www.openwall.com/lists/oss-security/2025/02/05/8"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
      "type": "CVSS_V4"
    }
  ]
}

GHSA-8579-RGG5-PH2M

Vulnerability from github – Published: 2026-06-18 13:52 – Updated: 2026-07-20 21:23
VLAI
Summary
PraisonAI DiscordApproval accepts unrelated channel messages as dangerous-tool approvals
Details

DiscordApproval accepts unrelated channel messages as dangerous-tool approvals

Summary

praisonai.bots.DiscordApproval approves a pending dangerous tool call when it sees any later non-bot message in the configured Discord channel whose text is classified as approval, such as yes.

The decision is not bound to:

  • a Discord reply to the approval message;
  • a Discord thread created for that request;
  • a Discord interaction/button callback for that request;
  • an explicit approver user allowlist; or
  • an approval nonce visible only to intended approvers.

As a result, any user who can post in the configured approval channel can approve a pending high-risk tool call by sending yes after the approval message appears. The same local PoV also shows that the Slack and Telegram messaging approval backends have no explicit approver allowlist parameter, but the primary report-grade issue is the Discord backend's unthreaded channel cross-talk: the approving message does not need to be a reply or otherwise request-bound.

Affected Product

  • Repository: MervinPraison/PraisonAI
  • Ecosystem: pip
  • Package: praisonai
  • Component: Python messaging approval backends
  • Primary affected file: src/praisonai/praisonai/bots/_discord_approval.py
  • Related sibling files:
  • src/praisonai/praisonai/bots/_slack_approval.py
  • src/praisonai/praisonai/bots/_telegram_approval.py
  • Latest PyPI version validated: 4.6.58
  • Current origin/main validated: 1ad58ca02975ff1398efeda694ea2ab78f20cf3e
  • Current origin/main tag validated: v4.6.58

Suggested affected range:

pip:praisonai >= 4.5.2, <= 4.6.58

Representative local sweep:

4.5.0    Discord approval backend not present
4.5.2    vulnerable
4.5.128  vulnerable
4.6.9    vulnerable
4.6.10   vulnerable
4.6.56   vulnerable
4.6.57   vulnerable
4.6.58   vulnerable

Root Cause

DiscordApproval.request_approval() posts an approval message to the configured channel and records the returned message id.

_poll_for_response() then polls channel history with:

f"/channels/{channel_id}/messages?after={message_id}&limit=10"

For each later non-bot message, it reads content, classifies the text, and returns ApprovalDecision(approved=True) when the text is approve/yes. There is no check that the message is a Discord reply to the approval message, belongs to a request-specific thread, came from an intended approver, or contains a request-specific approval token.

Important source evidence from origin/main:

  • _discord_approval.py lines 57-73: constructor accepts token, channel_id, timeout, and poll_interval; no approver allowlist.
  • _discord_approval.py line 239: polls all messages after the approval message in the configured channel.
  • _discord_approval.py lines 252-265: skips bot messages, classifies the remaining text, and approves when the keyword is approve.

The Slack and Telegram backends are better request-scoped than Discord:

  • Slack uses conversations.replies for the approval message thread.
  • Telegram checks the callback/reply message id.

However, both still lack an explicit approver identity parameter. They are included in the PoV and suggested fix because the authorization model should be consistent across all messaging approval backends.

Local PoV

Run against the latest local checkout:

python3 poc/pov_prai_cand_029_messaging_approval_channel_member_bypass.py \
  --repo ../../artifacts/repos/praisonai-v4.6.58 \
  --json

The PoV is local-only. It mocks Slack, Telegram, and Discord API helpers in-process and does not contact those services.

For Discord, the mock sequence is:

  1. DiscordApproval posts a critical execute_command approval request to D_APPROVAL_CHANNEL.
  2. The mocked channel-history endpoint returns a later ordinary non-bot channel message from D_INTRUDER with content yes.
  3. DiscordApproval returns approved=True and approver="D_INTRUDER".

Observed output from evidence/pov-v4.6.58.json:

{
  "approval_from_unconfigured_channel_participant": {
    "discord": true,
    "slack": true,
    "telegram": true
  },
  "backends": [
    {
      "backend": "discord",
      "configured_channel_id": "D_APPROVAL_CHANNEL",
      "decision_approved": true,
      "decision_approver": "D_INTRUDER",
      "decision_reason": "Approved via Discord by intruder",
      "intruder_user": "D_INTRUDER"
    }
  ],
  "no_explicit_approver_allowlist_parameters": true,
  "vulnerable": true
}

The command in the approval request is a harmless local sentinel: touch /tmp/prai-cand-029. The PoV stops at the approval decision; it does not execute the tool.

Why This Is Not Intended Behavior

This report does not claim that a deliberately private approval channel with only trusted approvers is unsafe by itself. The narrower issue is that the Discord backend treats an unrelated later channel message as the approval decision for a specific dangerous tool request.

PraisonAI's approval documentation describes approval as a safety control that pauses before dangerous tools and asks a human or channel to allow or deny the specific request. A random later yes in the channel is not evidence that an intended approver reviewed that request.

The existing Slack and Telegram implementations already show request-binding patterns that Discord lacks:

  • Slack scopes to replies for the approval message timestamp.
  • Telegram checks the callback/reply message_id.

The Discord backend should provide at least the same request binding and should also support explicit approver identity checks for deployments where channel membership is broader than approval authority.

Impact

If an application uses DiscordApproval for dangerous tools such as shell commands, file writes, deletes, deployments, or other privileged operations, a low-privileged Discord user with write access to the configured approval channel can approve pending dangerous tool executions.

This can lead to code execution, file modification, deployment changes, or data access with the privileges of the PraisonAI process, depending on which tools the agent exposes behind approval.

The attacker does not need the LLM API key, shell access, repository access, or PraisonAI process access. They only need to be able to post an approval-looking message in the configured approval channel after the approval prompt appears.

Severity

Suggested severity: High.

Rationale:

  • AV: the attacker interacts through a networked Discord channel.
  • AC: sending yes after an approval prompt is enough.
  • PR: the attacker needs permission to post in the configured approval channel, but no approver-specific permission.
  • UI: no separate victim interaction is needed after the prompt exists.
  • S: the vulnerable approval backend and approved tool run in the PraisonAI application's security scope.
  • C/I/A: approved dangerous tools can disclose, modify, or destroy data depending on the configured agent tools.

Remediation

Recommended fixes:

  1. For Discord, require approvals to be tied to the request, not merely any later channel message. Use Discord interactions/buttons with opaque server-side request ids, or require a Discord reply whose message_reference.message_id matches the approval message.
  2. Add explicit approver identity configuration to all messaging approval backends, for example approver_user_ids or allowed_approvers.
  3. Reject approvals from users outside the configured approver set, even if the message appears in the configured channel.
  4. Include a per-request nonce or opaque approval id in callbacks and verify it server side before returning ApprovalDecision(approved=True).
  5. Add regression tests for Discord where:
  6. an unrelated later yes in the channel is ignored;
  7. a reply from a non-approver is ignored;
  8. a request-bound reply/callback from an allowed approver succeeds.
Show details on source website

{
  "affected": [
    {
      "database_specific": {
        "last_known_affected_version_range": "\u003c= 4.6.58"
      },
      "package": {
        "ecosystem": "PyPI",
        "name": "praisonai"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "4.5.2"
            },
            {
              "fixed": "4.6.59"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-56832"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-345",
      "CWE-863"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-06-18T13:52:27Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "# DiscordApproval accepts unrelated channel messages as dangerous-tool approvals\n\n## Summary\n\n`praisonai.bots.DiscordApproval` approves a pending dangerous tool call when it\nsees any later non-bot message in the configured Discord channel whose text is\nclassified as approval, such as `yes`.\n\nThe decision is not bound to:\n\n- a Discord reply to the approval message;\n- a Discord thread created for that request;\n- a Discord interaction/button callback for that request;\n- an explicit approver user allowlist; or\n- an approval nonce visible only to intended approvers.\n\nAs a result, any user who can post in the configured approval channel can\napprove a pending high-risk tool call by sending `yes` after the approval\nmessage appears. The same local PoV also shows that the Slack and Telegram\nmessaging approval backends have no explicit approver allowlist parameter, but\nthe primary report-grade issue is the Discord backend\u0027s unthreaded channel\ncross-talk: the approving message does not need to be a reply or otherwise\nrequest-bound.\n\n## Affected Product\n\n- Repository: `MervinPraison/PraisonAI`\n- Ecosystem: `pip`\n- Package: `praisonai`\n- Component: Python messaging approval backends\n- Primary affected file: `src/praisonai/praisonai/bots/_discord_approval.py`\n- Related sibling files:\n  - `src/praisonai/praisonai/bots/_slack_approval.py`\n  - `src/praisonai/praisonai/bots/_telegram_approval.py`\n- Latest PyPI version validated: `4.6.58`\n- Current `origin/main` validated:\n  `1ad58ca02975ff1398efeda694ea2ab78f20cf3e`\n- Current `origin/main` tag validated: `v4.6.58`\n\nSuggested affected range:\n\n```text\npip:praisonai \u003e= 4.5.2, \u003c= 4.6.58\n```\n\nRepresentative local sweep:\n\n```text\n4.5.0    Discord approval backend not present\n4.5.2    vulnerable\n4.5.128  vulnerable\n4.6.9    vulnerable\n4.6.10   vulnerable\n4.6.56   vulnerable\n4.6.57   vulnerable\n4.6.58   vulnerable\n```\n\n## Root Cause\n\n`DiscordApproval.request_approval()` posts an approval message to the configured\nchannel and records the returned message id.\n\n`_poll_for_response()` then polls channel history with:\n\n```python\nf\"/channels/{channel_id}/messages?after={message_id}\u0026limit=10\"\n```\n\nFor each later non-bot message, it reads `content`, classifies the text, and\nreturns `ApprovalDecision(approved=True)` when the text is `approve`/`yes`.\nThere is no check that the message is a Discord reply to the approval message,\nbelongs to a request-specific thread, came from an intended approver, or\ncontains a request-specific approval token.\n\nImportant source evidence from `origin/main`:\n\n- `_discord_approval.py` lines 57-73: constructor accepts `token`,\n  `channel_id`, `timeout`, and `poll_interval`; no approver allowlist.\n- `_discord_approval.py` line 239: polls all messages after the approval\n  message in the configured channel.\n- `_discord_approval.py` lines 252-265: skips bot messages, classifies the\n  remaining text, and approves when the keyword is `approve`.\n\nThe Slack and Telegram backends are better request-scoped than Discord:\n\n- Slack uses `conversations.replies` for the approval message thread.\n- Telegram checks the callback/reply message id.\n\nHowever, both still lack an explicit approver identity parameter. They are\nincluded in the PoV and suggested fix because the authorization model should be\nconsistent across all messaging approval backends.\n\n## Local PoV\n\nRun against the latest local checkout:\n\n```bash\npython3 poc/pov_prai_cand_029_messaging_approval_channel_member_bypass.py \\\n  --repo ../../artifacts/repos/praisonai-v4.6.58 \\\n  --json\n```\n\nThe PoV is local-only. It mocks Slack, Telegram, and Discord API helpers\nin-process and does not contact those services.\n\nFor Discord, the mock sequence is:\n\n1. `DiscordApproval` posts a critical `execute_command` approval request to\n   `D_APPROVAL_CHANNEL`.\n2. The mocked channel-history endpoint returns a later ordinary non-bot\n   channel message from `D_INTRUDER` with content `yes`.\n3. `DiscordApproval` returns `approved=True` and `approver=\"D_INTRUDER\"`.\n\nObserved output from `evidence/pov-v4.6.58.json`:\n\n```json\n{\n  \"approval_from_unconfigured_channel_participant\": {\n    \"discord\": true,\n    \"slack\": true,\n    \"telegram\": true\n  },\n  \"backends\": [\n    {\n      \"backend\": \"discord\",\n      \"configured_channel_id\": \"D_APPROVAL_CHANNEL\",\n      \"decision_approved\": true,\n      \"decision_approver\": \"D_INTRUDER\",\n      \"decision_reason\": \"Approved via Discord by intruder\",\n      \"intruder_user\": \"D_INTRUDER\"\n    }\n  ],\n  \"no_explicit_approver_allowlist_parameters\": true,\n  \"vulnerable\": true\n}\n```\n\nThe command in the approval request is a harmless local sentinel:\n`touch /tmp/prai-cand-029`. The PoV stops at the approval decision; it does not\nexecute the tool.\n\n## Why This Is Not Intended Behavior\n\nThis report does not claim that a deliberately private approval channel with\nonly trusted approvers is unsafe by itself. The narrower issue is that the\nDiscord backend treats an unrelated later channel message as the approval\ndecision for a specific dangerous tool request.\n\nPraisonAI\u0027s approval documentation describes approval as a safety control that\npauses before dangerous tools and asks a human or channel to allow or deny the\nspecific request. A random later `yes` in the channel is not evidence that an\nintended approver reviewed that request.\n\nThe existing Slack and Telegram implementations already show request-binding\npatterns that Discord lacks:\n\n- Slack scopes to replies for the approval message timestamp.\n- Telegram checks the callback/reply `message_id`.\n\nThe Discord backend should provide at least the same request binding and should\nalso support explicit approver identity checks for deployments where channel\nmembership is broader than approval authority.\n\n## Impact\n\nIf an application uses `DiscordApproval` for dangerous tools such as shell\ncommands, file writes, deletes, deployments, or other privileged operations, a\nlow-privileged Discord user with write access to the configured approval channel\ncan approve pending dangerous tool executions.\n\nThis can lead to code execution, file modification, deployment changes, or data\naccess with the privileges of the PraisonAI process, depending on which tools\nthe agent exposes behind approval.\n\nThe attacker does not need the LLM API key, shell access, repository access, or\nPraisonAI process access. They only need to be able to post an approval-looking\nmessage in the configured approval channel after the approval prompt appears.\n\n## Severity\n\nSuggested severity: High.\n\nRationale:\n\n- `AV`: the attacker interacts through a networked Discord channel.\n- `AC`: sending `yes` after an approval prompt is enough.\n- `PR`: the attacker needs permission to post in the configured approval\n  channel, but no approver-specific permission.\n- `UI`: no separate victim interaction is needed after the prompt exists.\n- `S`: the vulnerable approval backend and approved tool run in the PraisonAI\n  application\u0027s security scope.\n- `C/I/A`: approved dangerous tools can disclose, modify, or destroy data\n  depending on the configured agent tools.\n\n## Remediation\n\nRecommended fixes:\n\n1. For Discord, require approvals to be tied to the request, not merely any\n   later channel message. Use Discord interactions/buttons with opaque\n   server-side request ids, or require a Discord reply whose\n   `message_reference.message_id` matches the approval message.\n2. Add explicit approver identity configuration to all messaging approval\n   backends, for example `approver_user_ids` or `allowed_approvers`.\n3. Reject approvals from users outside the configured approver set, even if the\n   message appears in the configured channel.\n4. Include a per-request nonce or opaque approval id in callbacks and verify it\n   server side before returning `ApprovalDecision(approved=True)`.\n5. Add regression tests for Discord where:\n   - an unrelated later `yes` in the channel is ignored;\n   - a reply from a non-approver is ignored;\n   - a request-bound reply/callback from an allowed approver succeeds.",
  "id": "GHSA-8579-rgg5-ph2m",
  "modified": "2026-07-20T21:23:11Z",
  "published": "2026-06-18T13:52:27Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-8579-rgg5-ph2m"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/MervinPraison/PraisonAI"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "PraisonAI DiscordApproval accepts unrelated channel messages as dangerous-tool approvals"
}

GHSA-859C-MMXF-C34P

Vulnerability from github – Published: 2022-05-13 01:36 – Updated: 2022-05-13 01:36
VLAI
Details

A logic error in valid_role() in CloudForms role validation before 5.7.1.3 could allow a tenant administrator to create groups with a higher privilege level than the tenant administrator should have. This would allow an attacker with tenant administration access to elevate privileges.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2017-2632"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2018-07-27T19:29:00Z",
    "severity": "MODERATE"
  },
  "details": "A logic error in valid_role() in CloudForms role validation before 5.7.1.3 could allow a tenant administrator to create groups with a higher privilege level than the tenant administrator should have. This would allow an attacker with tenant administration access to elevate privileges.",
  "id": "GHSA-859c-mmxf-c34p",
  "modified": "2022-05-13T01:36:52Z",
  "published": "2022-05-13T01:36:52Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2017-2632"
    },
    {
      "type": "WEB",
      "url": "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-2632"
    },
    {
      "type": "WEB",
      "url": "http://rhn.redhat.com/errata/RHSA-2017-0320.html"
    },
    {
      "type": "WEB",
      "url": "http://www.securityfocus.com/bid/96478"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N",
      "type": "CVSS_V3"
    }
  ]
}

GHSA-859X-P6JP-RC2W

Vulnerability from github – Published: 2023-03-03 22:54 – Updated: 2023-03-03 22:54
VLAI
Summary
xwiki contains Incorrect Authorization
Details

Impact

It's possible to execute a script with the right of another user (provided the target user does not have programming right).

For example, the following:

{{context document="xwiki:XWiki.userwithscriptright" transformationContext="document"}}{{velocity}}Hello from Velocity!{{/velocity}}{{/context}}

written by a user not having script right (for example in the user's profile) should produce an error (the user is not allowed to write scripts). However, because of the vulnerability, if the author of the document "xwiki:XWiki.userwithscriptright" has script right (but not programming right) the script will be executed with as if it was written by the target user.

Patches

The problem has been patched in XWiki 14.8RC1, 14.4.5 and 13.10.10.

Workarounds

There's no workaround for this issue.

References

https://jira.xwiki.org/browse/XWIKI-19856

For more information

If you have any questions or comments about this advisory: * Open an issue in JIRA * Email us at security ML

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.xwiki.platform:xwiki-platform-rendering-macro-context"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "3.0-milestone-1"
            },
            {
              "fixed": "13.10.10"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.xwiki.platform:xwiki-platform-rendering-macro-context"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "14.0-rc-1"
            },
            {
              "fixed": "14.4.5"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.xwiki.platform:xwiki-platform-rendering-macro-context"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "14.5"
            },
            {
              "fixed": "14.8-rc-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2023-26056"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2023-03-03T22:54:19Z",
    "nvd_published_at": "2023-03-02T19:15:00Z",
    "severity": "MODERATE"
  },
  "details": "### Impact\n\nIt\u0027s possible to execute a script with the right of another user (provided the target user does not have programming right).\n\nFor example, the following:\n\n```\n{{context document=\"xwiki:XWiki.userwithscriptright\" transformationContext=\"document\"}}{{velocity}}Hello from Velocity!{{/velocity}}{{/context}}\n```\n\nwritten by a user not having script right (for example in the user\u0027s profile) should produce an error (the user is not allowed to write scripts). However, because of the vulnerability, if the author of the document \"xwiki:XWiki.userwithscriptright\" has script right (but not programming right) the script will be executed with as if it was written by the target user.\n\n### Patches\n\nThe problem has been patched in XWiki 14.8RC1, 14.4.5 and 13.10.10.\n\n### Workarounds\n\nThere\u0027s no workaround for this issue.\n\n### References\n\nhttps://jira.xwiki.org/browse/XWIKI-19856\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [JIRA](https://jira.xwiki.org)\n* Email us at [security ML](mailto:security@xwiki.org)",
  "id": "GHSA-859x-p6jp-rc2w",
  "modified": "2023-03-03T22:54:19Z",
  "published": "2023-03-03T22:54:19Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-859x-p6jp-rc2w"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-26056"
    },
    {
      "type": "WEB",
      "url": "https://github.com/xwiki/xwiki-platform/commit/4b75f212c2dd2dfc5fb5726c7830c6dbc9a425c6"
    },
    {
      "type": "WEB",
      "url": "https://github.com/xwiki/xwiki-platform/commit/bd34ad6710ed72304304a3d5fec38b7cc050ef3b"
    },
    {
      "type": "WEB",
      "url": "https://github.com/xwiki/xwiki-platform/commit/dd3f4735b41971b3afc3f3aedf6664b4e8be4894"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/xwiki/xwiki-platform"
    },
    {
      "type": "WEB",
      "url": "https://jira.xwiki.org/browse/XWIKI-19856"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "xwiki contains Incorrect Authorization"
}

GHSA-85CF-GJ29-F555

Vulnerability from github – Published: 2023-08-10 20:09 – Updated: 2023-08-10 20:09
VLAI
Summary
1Panel Arbitrary File Download vulnerability
Details

Summary

Any file downloading vulnerability exists in 1Panel backend.

Details

Authenticated attackers can download arbitrary files through the API interface. This code has unauthorized access. image

PoC

payload:

POST /api/v1/files/download/bypath HTTP/1.1 Host: ip Content-Type: application/json

{"path":"/etc/passwd"}

f77959349e96543436eea18283fa75c

Impact

Attackers can freely download the file content on the target system. This will be caused a large amount of information leakage.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Go",
        "name": "github.com/1Panel-dev/1Panel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "1.4.3"
            },
            {
              "fixed": "1.5.0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "1.4.3"
      ]
    }
  ],
  "aliases": [
    "CVE-2023-39965"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2023-08-10T20:09:24Z",
    "nvd_published_at": "2023-08-10T18:15:11Z",
    "severity": "MODERATE"
  },
  "details": "### Summary\nAny file downloading vulnerability exists in 1Panel backend.\n\n### Details\nAuthenticated attackers can download arbitrary files through the API interface. This code has unauthorized access.\n![image](https://user-images.githubusercontent.com/116613486/257246024-d0e35800-5fd8-4907-8b1b-504afaad859e.png)\n\n### PoC\npayload:\n\nPOST /api/v1/files/download/bypath HTTP/1.1\nHost: ip\nContent-Type: application/json\n\n{\"path\":\"/etc/passwd\"}\n\n![f77959349e96543436eea18283fa75c](https://user-images.githubusercontent.com/116613486/257245459-13f2f31b-fcfe-4a27-ba52-e2f1e5d4d749.png)\n\n\n### Impact\nAttackers can freely download the file content on the target system. This will be caused a large amount of information leakage.\n",
  "id": "GHSA-85cf-gj29-f555",
  "modified": "2023-08-10T20:09:24Z",
  "published": "2023-08-10T20:09:24Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/1Panel-dev/1Panel/security/advisories/GHSA-85cf-gj29-f555"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-39965"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/1Panel-dev/1Panel"
    },
    {
      "type": "WEB",
      "url": "https://github.com/1Panel-dev/1Panel/releases/tag/v1.5.0"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L",
      "type": "CVSS_V3"
    }
  ],
  "summary": "1Panel Arbitrary File Download vulnerability"
}

GHSA-85CV-M9JH-X4VV

Vulnerability from github – Published: 2025-05-28 09:31 – Updated: 2025-05-28 09:31
VLAI
Details

An Incorrect Authorization vulnerability [CWE-863] in FortiClient Mac 7.4.0 through 7.4.2, 7.2.0 through 7.2.8, 7.0.0 through 7.0.14 may allow a local attacker to escalate privileges via crafted XPC messages.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2025-25251"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-05-28T08:15:21Z",
    "severity": "HIGH"
  },
  "details": "An Incorrect Authorization vulnerability [CWE-863] in FortiClient Mac 7.4.0 through 7.4.2, 7.2.0 through 7.2.8, 7.0.0 through 7.0.14 may allow a local attacker to escalate privileges via crafted XPC messages.",
  "id": "GHSA-85cv-m9jh-x4vv",
  "modified": "2025-05-28T09:31:26Z",
  "published": "2025-05-28T09:31:26Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-25251"
    },
    {
      "type": "WEB",
      "url": "https://fortiguard.fortinet.com/psirt/FG-IR-25-016"
    }
  ],
  "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"
    }
  ]
}

GHSA-85G9-8J9G-P486

Vulnerability from github – Published: 2026-06-17 18:35 – Updated: 2026-06-18 14:32
VLAI
Summary
Apache DolphinScheduler: The `/v2` experimental interface lacks permission checks
Details

Incorrect Authorization vulnerability of /v2 experimental interface in Apache DolphinScheduler.

This issue affects Apache DolphinScheduler: before 3.4.2.

Users are recommended to upgrade to version 3.4.2, which fixes the issue.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "org.apache.dolphinscheduler:dolphinscheduler-api"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "3.4.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-32967"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-863"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-06-18T14:32:41Z",
    "nvd_published_at": "2026-06-17T13:20:16Z",
    "severity": "CRITICAL"
  },
  "details": "Incorrect Authorization vulnerability of `/v2` experimental interface in Apache DolphinScheduler.\n\nThis issue affects Apache DolphinScheduler: before 3.4.2.\n\nUsers are recommended to upgrade to version 3.4.2, which fixes the issue.",
  "id": "GHSA-85g9-8j9g-p486",
  "modified": "2026-06-18T14:32:41Z",
  "published": "2026-06-17T18:35:48Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-32967"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/apache/dolphinscheduler"
    },
    {
      "type": "WEB",
      "url": "https://lists.apache.org/thread/5o5jrg1snkmrto96wg015wgbh7hyckzc"
    },
    {
      "type": "WEB",
      "url": "http://www.openwall.com/lists/oss-security/2026/06/17/3"
    }
  ],
  "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"
    }
  ],
  "summary": "Apache DolphinScheduler: The `/v2` experimental interface lacks permission checks"
}

GHSA-85HW-HQJ5-M956

Vulnerability from github – Published: 2026-04-03 00:31 – Updated: 2026-04-03 00:31
VLAI
Details

Improper authentication in Azure SRE Agent allows an unauthorized attacker to disclose information over a network.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-32173"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-287",
      "CWE-863"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-04-03T00:16:04Z",
    "severity": "HIGH"
  },
  "details": "Improper authentication in Azure SRE Agent allows an unauthorized attacker to disclose information over a network.",
  "id": "GHSA-85hw-hqj5-m956",
  "modified": "2026-04-03T00:31:09Z",
  "published": "2026-04-03T00:31:09Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-32173"
    },
    {
      "type": "WEB",
      "url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-32173"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ]
}

Mitigation
Architecture and Design
  • Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries.
  • Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
Mitigation
Architecture and Design

Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].

Mitigation MIT-4.4
Architecture and Design

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 authorization frameworks such as the JAAS Authorization Framework [REF-233] and the OWASP ESAPI Access Control feature [REF-45].
Mitigation
Architecture and Design
  • For web applications, make sure that the access control mechanism is enforced correctly at the server side on every page. Users should not be able to access any unauthorized functionality or information by simply requesting direct access to that page.
  • One way to do this is to ensure that all pages containing sensitive information are not cached, and that all such pages restrict access to requests that are accompanied by an active and authenticated session token associated with a user who has the required permissions to access that page.
Mitigation
System Configuration Installation

Use the access control capabilities of your operating system and server environment and define your access control lists accordingly. Use a "default deny" policy when defining these ACLs.

No CAPEC attack patterns related to this CWE.