CWE-266
AllowedIncorrect Privilege Assignment
Abstraction: Base · Status: Draft
A product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor.
2345 vulnerabilities reference this CWE, most recent first.
GHSA-8HCX-P7M8-GC28
Vulnerability from github – Published: 2026-05-28 06:31 – Updated: 2026-07-01 21:20Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-32h4-44jj-c5vx. This link is maintained to preserve external references.
Original Description
A flaw was found in Keycloak's Fine-Grained Admin Permissions (FGAPv2) feature. An administrator with limited client management permissions can exploit this vulnerability to assign any realm role, including highly privileged roles, to a client's scope mapping. This bypasses intended security controls, allowing the injected role to be projected into a user's authentication token when they access the modified client. This could lead to unauthorized privilege escalation within the Keycloak realm.
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "org.keycloak:keycloak-services"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "26.6.4"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": true,
"github_reviewed_at": "2026-07-01T21:20:02Z",
"nvd_published_at": "2026-05-28T05:16:41Z",
"severity": "HIGH"
},
"details": "### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-32h4-44jj-c5vx. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in Keycloak\u0027s Fine-Grained Admin Permissions (FGAPv2) feature. An administrator with limited client management permissions can exploit this vulnerability to assign any realm role, including highly privileged roles, to a client\u0027s scope mapping. This bypasses intended security controls, allowing the injected role to be projected into a user\u0027s authentication token when they access the modified client. This could lead to unauthorized privilege escalation within the Keycloak realm.",
"id": "GHSA-8hcx-p7m8-gc28",
"modified": "2026-07-01T21:20:03Z",
"published": "2026-05-28T06:31:09Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-9795"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2026:30049"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2026:30050"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2026:30083"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2026:30084"
},
{
"type": "WEB",
"url": "https://access.redhat.com/security/cve/CVE-2026-9795"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482462"
},
{
"type": "WEB",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-9795.json"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Duplicate Advisory: Keycloak has privilege escalation via improper scope mapping enforcement",
"withdrawn": "2026-07-01T21:20:02Z"
}
GHSA-8JRC-FQXP-MFRG
Vulnerability from github – Published: 2025-08-20 09:30 – Updated: 2026-04-01 18:35Incorrect Privilege Assignment vulnerability in Saad Iqbal Bookify allows Privilege Escalation. This issue affects Bookify: from n/a through 1.0.9.
{
"affected": [],
"aliases": [
"CVE-2025-48142"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-08-20T08:15:30Z",
"severity": "HIGH"
},
"details": "Incorrect Privilege Assignment vulnerability in Saad Iqbal Bookify allows Privilege Escalation. This issue affects Bookify: from n/a through 1.0.9.",
"id": "GHSA-8jrc-fqxp-mfrg",
"modified": "2026-04-01T18:35:53Z",
"published": "2025-08-20T09:30:38Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-48142"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/bookify/vulnerability/wordpress-bookify-1-0-9-privilege-escalation-vulnerability?_s_id=cve"
}
],
"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"
}
]
}
GHSA-8JVQ-CJ68-W363
Vulnerability from github – Published: 2025-01-16 21:31 – Updated: 2026-04-01 18:33Incorrect Privilege Assignment vulnerability in Wouter Dijkstra DD Roles allows Privilege Escalation.This issue affects DD Roles: from n/a through 4.1.
{
"affected": [],
"aliases": [
"CVE-2025-23528"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-01-16T20:15:38Z",
"severity": "HIGH"
},
"details": "Incorrect Privilege Assignment vulnerability in Wouter Dijkstra DD Roles allows Privilege Escalation.This issue affects DD Roles: from n/a through 4.1.",
"id": "GHSA-8jvq-cj68-w363",
"modified": "2026-04-01T18:33:11Z",
"published": "2025-01-16T21:31:01Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-23528"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/dd-roles/vulnerability/wordpress-dd-roles-plugin-4-1-privilege-escalation-vulnerability?_s_id=cve"
}
],
"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"
}
]
}
GHSA-8M7W-VWCH-MW57
Vulnerability from github – Published: 2026-03-08 00:31 – Updated: 2026-03-08 00:31A vulnerability was found in Freedom Factory dGEN1 up to 20260221. Affected by this vulnerability is the function FakeAppProvider of the component org.ethosmobile.ethoslauncher. Performing a manipulation results in improper authorization. The attack must be initiated from a local position. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.
{
"affected": [],
"aliases": [
"CVE-2026-3674"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-03-07T22:15:50Z",
"severity": "MODERATE"
},
"details": "A vulnerability was found in Freedom Factory dGEN1 up to 20260221. Affected by this vulnerability is the function FakeAppProvider of the component org.ethosmobile.ethoslauncher. Performing a manipulation results in improper authorization. The attack must be initiated from a local position. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.",
"id": "GHSA-8m7w-vwch-mw57",
"modified": "2026-03-08T00:31:46Z",
"published": "2026-03-08T00:31:46Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-3674"
},
{
"type": "WEB",
"url": "https://gist.github.com/Lytes/571902a31a3d543da009554a82f2d00c"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.349570"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.349570"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.764700"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/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-8MR3-4H49-RV3H
Vulnerability from github – Published: 2025-11-13 15:30 – Updated: 2025-11-13 15:30A vulnerability was identified in macrozheng mall-swarm up to 1.0.3. This affects the function updateAttr of the file /cart/update/attr. Such manipulation leads to improper authorization. The attack may be performed from remote. The exploit is publicly available and might be used. The vendor was contacted early about this disclosure but did not respond in any way.
{
"affected": [],
"aliases": [
"CVE-2025-13114"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-11-13T14:15:48Z",
"severity": "MODERATE"
},
"details": "A vulnerability was identified in macrozheng mall-swarm up to 1.0.3. This affects the function updateAttr of the file /cart/update/attr. Such manipulation leads to improper authorization. The attack may be performed from remote. The exploit is publicly available and might be used. The vendor was contacted early about this disclosure but did not respond in any way.",
"id": "GHSA-8mr3-4h49-rv3h",
"modified": "2025-11-13T15:30:30Z",
"published": "2025-11-13T15:30:30Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-13114"
},
{
"type": "WEB",
"url": "https://github.com/Hwwg/cve/issues/5"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.332319"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.332319"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.683221"
}
],
"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:L",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/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-8P72-CWQ7-FH8H
Vulnerability from github – Published: 2025-02-03 18:30 – Updated: 2025-02-03 18:30PVWA (Password Vault Web Access) in CyberArk Privileged Access Manager Self-Hosted before 14.4 has potentially elevated privileges in LDAP mapping.
{
"affected": [],
"aliases": [
"CVE-2024-57967"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-02-03T18:15:37Z",
"severity": "MODERATE"
},
"details": "PVWA (Password Vault Web Access) in CyberArk Privileged Access Manager Self-Hosted before 14.4 has potentially elevated privileges in LDAP mapping.",
"id": "GHSA-8p72-cwq7-fh8h",
"modified": "2025-02-03T18:30:44Z",
"published": "2025-02-03T18:30:44Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-57967"
},
{
"type": "WEB",
"url": "https://docs.cyberark.com/pam-self-hosted/latest/en/content/release%20notes/rn-whatsnew14-4.htm#Securitybugfixes"
},
{
"type": "WEB",
"url": "https://www.cyberark.com/ca24-15"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-8P83-CPFG-FJ3G
Vulnerability from github – Published: 2025-04-01 14:19 – Updated: 2025-04-11 23:13Impact
A vulnerability has been identified within Rancher where a Restricted Administrator can change the password of Administrators and take over their accounts.
A Restricted Administrator should be not allowed to change the password of more privileged users unless it contains the Manage Users permissions.
Rancher deployments where the Restricted Administrator role is not being used are not affected by this CVE. Please consult the associated MITRE ATT&CK - Technique - Abuse Elevation Control Mechanism for further information about this category of attack.
Patches
The fix introduces a few changes: 1. If the user has a manage-users verb, the user is allowed to edit/delete users. That way the Manage Users built in role will still be able to edit ALL users. 2. If the user doesn't have manage-users, just edit or delete, then there is a check to ensure that the User being edited only has rules equal to or less than the editor.
Patched versions include releases v2.8.14, v2.9.8, v2.10.4 and v2.11.0
Workarounds
Users are recommended to upgrade, as soon as possible, to a version of Rancher Manager that contains the fix. If users can't upgrade, the following are recommended: 1. Limit access to Rancher Restricted Admin only to trusted users. 2. Downgrade Restricted Administrators to custom roles with limited permissions.
Credits
This issue was identified and reported by Xavier Duthil from OVHcloud.
References
If you have any questions or comments about this advisory: - Reach out to the SUSE Rancher Security team for security related inquiries. - Open an issue in the Rancher repository. - Verify with our support matrix and product support lifecycle.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/rancher/rancher"
},
"ranges": [
{
"events": [
{
"introduced": "2.8.0"
},
{
"fixed": "2.8.14"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/rancher/rancher"
},
"ranges": [
{
"events": [
{
"introduced": "2.9.0"
},
{
"fixed": "2.9.8"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/rancher/rancher"
},
"ranges": [
{
"events": [
{
"introduced": "2.10.0"
},
{
"fixed": "2.10.4"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-23391"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": true,
"github_reviewed_at": "2025-04-01T14:19:30Z",
"nvd_published_at": "2025-04-11T11:15:42Z",
"severity": "CRITICAL"
},
"details": "### Impact\nA vulnerability has been identified within Rancher where a Restricted Administrator can change the password of Administrators and take over their accounts. \n\nA Restricted Administrator should be not allowed to change the password of more privileged users unless it contains the Manage Users permissions.\n\nRancher deployments where the Restricted Administrator role is not being used are not affected by this CVE.\nPlease consult the associated [MITRE ATT\u0026CK - Technique - Abuse Elevation Control Mechanism](https://attack.mitre.org/techniques/T1548/) for further information about this category of attack.\n\n### Patches\nThe fix introduces a few changes:\n1. If the user has a manage-users verb, the user is allowed to edit/delete users. That way the Manage Users built in role will still be able to edit ALL users.\n2. If the user doesn\u0027t have manage-users, just edit or delete, then there is a check to ensure that the User being edited only has rules equal to or less than the editor.\n\nPatched versions include releases `v2.8.14`, `v2.9.8`, `v2.10.4` and `v2.11.0`\n\n### Workarounds\nUsers are recommended to upgrade, as soon as possible, to a version of Rancher Manager that contains the fix.\nIf users can\u0027t upgrade, the following are recommended:\n1. Limit access to Rancher Restricted Admin only to trusted users.\n2. Downgrade Restricted Administrators to custom roles with limited permissions.\n\n### Credits\nThis issue was identified and reported by Xavier Duthil from OVHcloud.\n\n### References\nIf you have any questions or comments about this advisory:\n- Reach out to the [SUSE Rancher Security team](https://github.com/rancher/rancher/security/policy) for security related inquiries.\n- Open an issue in the [Rancher](https://github.com/rancher/rancher/issues/new/choose) repository.\n- Verify with our [support matrix](https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/) and [product support lifecycle](https://www.suse.com/lifecycle/).",
"id": "GHSA-8p83-cpfg-fj3g",
"modified": "2025-04-11T23:13:29Z",
"published": "2025-04-01T14:19:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/rancher/rancher/security/advisories/GHSA-8p83-cpfg-fj3g"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-23391"
},
{
"type": "WEB",
"url": "https://bugzilla.suse.com/show_bug.cgi?id=CVE-2025-23391"
},
{
"type": "PACKAGE",
"url": "https://github.com/rancher/rancher"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Rancher: Restricted Administrator can change Administrator\u0027s passwords"
}
GHSA-8PVM-C356-JM6P
Vulnerability from github – Published: 2025-09-23 00:32 – Updated: 2025-09-23 00:32A flaw has been found in fuyang_lipengjun platform 1.0. The affected element is the function TopicCategoryController of the file /topiccategory/queryAll. This manipulation causes improper authorization. The attack is possible to be carried out remotely. The exploit has been published and may be used.
{
"affected": [],
"aliases": [
"CVE-2025-10821"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-09-22T23:15:37Z",
"severity": "MODERATE"
},
"details": "A flaw has been found in fuyang_lipengjun platform 1.0. The affected element is the function TopicCategoryController of the file /topiccategory/queryAll. This manipulation causes improper authorization. The attack is possible to be carried out remotely. The exploit has been published and may be used.",
"id": "GHSA-8pvm-c356-jm6p",
"modified": "2025-09-23T00:32:03Z",
"published": "2025-09-23T00:32:03Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-10821"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.325178"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.325178"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.653742"
},
{
"type": "WEB",
"url": "https://www.cnblogs.com/aibot/p/19063464"
}
],
"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:P/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-8QH8-GWRC-MFXF
Vulnerability from github – Published: 2025-01-08 21:32 – Updated: 2025-01-08 21:32A vulnerability classified as critical has been found in ZeroWdd myblog 1.0. This affects an unknown part of the file src/main/java/com/wdd/myblog/config/MyBlogMvcConfig.java. The manipulation leads to permission issues. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.
{
"affected": [],
"aliases": [
"CVE-2024-13189"
],
"database_specific": {
"cwe_ids": [
"CWE-266"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-01-08T20:15:27Z",
"severity": "MODERATE"
},
"details": "A vulnerability classified as critical has been found in ZeroWdd myblog 1.0. This affects an unknown part of the file src/main/java/com/wdd/myblog/config/MyBlogMvcConfig.java. The manipulation leads to permission issues. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used.",
"id": "GHSA-8qh8-gwrc-mfxf",
"modified": "2025-01-08T21:32:25Z",
"published": "2025-01-08T21:32:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-13189"
},
{
"type": "WEB",
"url": "https://github.com/ZeroWdd/myblog/issues/1"
},
{
"type": "WEB",
"url": "https://github.com/ZeroWdd/myblog/issues/1#issue-2759828006"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.290781"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.290781"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.469223"
}
],
"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"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/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-8QPJ-27X8-PWPQ
Vulnerability from github – Published: 2026-10-06 13:38 – Updated: 2026-10-06 13:38Summary
Langflow's built-in Python interpreter components — PythonREPLComponent (Python Interpreter) and the legacy PythonREPLToolComponent (Python REPL Tool) — executed arbitrary user- or model-supplied Python code inside flows without effective sandboxing. Because the code ran in-process with the privileges of the Langflow service, any authenticated user who could edit and run a flow could achieve remote code execution and, from there, escalate privileges to superuser (e.g. by opening a database session and flipping is_superuser) or compromise the host.
This issue is fixed as of 1.10.1, with additional hardening through 1.12.3. See Remediation below.
Affected
- Package:
langflow(PyPI), and the underlyinglfxpackage that ships the component. - Vulnerable versions:
< 1.10.1. - Patched:
1.10.1(core fix). Upgrade to>= 1.12.3for the complete hardening series.
Details
The root cause is code injection (CWE-94/CWE-95): the component passed raw input to LangChain's PythonREPL, which is explicitly not a security sandbox.
Two distinct weaknesses existed before 1.10.1:
-
Unrestricted builtins (default deployments).
get_globals()built theexecglobals from theglobal_importsallow-list but never set__builtins__. CPython'sexec()then auto-injected the fullbuiltinsmodule, leaving__import__,open,eval,execand the whole import machinery reachable regardless of the allow-list — e.g.__import__("os").system(...)or__import__("subprocess").check_output([...]). This made the "only modules in Global Imports can be used" guarantee false, and it applied even with the default configuration (allow_custom_components=True). -
No server-policy gate (locked-down deployments). Even a deployment hardened with
allow_custom_components=Falsecould still run interpreter code, because the components did not consult that policy before executing.
Both let an authenticated user run the reported PoC, which opens a DB session and sets is_superuser = True on their account, or writes to the filesystem / runs OS commands with the service's privileges.
PoC (as reported)
- Authenticate as a normal user.
- Create a flow with the
PythonREPLComponent. - Execute Python that imports Langflow internals and elevates the account:
import asyncio
from sqlmodel import select
from langflow.services.database.models.user.model import User
from langflow.services.deps import session_scope
async def escalate():
async with session_scope() as session:
stmt = select(User).where(User.username == 'testuser')
user = (await session.exec(stmt)).first()
if user:
user.is_superuser = True
session.add(user)
await session.commit()
asyncio.run(escalate())
Impact
Any authenticated user could: - Execute arbitrary Python / OS commands with the Langflow service's privileges (RCE). - Escalate their own account to superuser via direct database access. - Read/modify data and configuration, and potentially pivot to the underlying host.
Remediation
Upgrade to Langflow 1.10.1 or later (preferably >= 1.12.3). The interpreter components were hardened with layered, defense-in-depth controls, applied in run_python_repl() before any code is executed:
- Restricted builtins —
get_globals()injects a curatedsafe_builtins()mapping, removing__import__,eval,exec,compile,open,input,globals/locals/vars,getattr/setattr, etc. (#13397) - AST validation —
validate_code_safety()rejects inlineimport/from ... import, dunder/escape-gadget attribute access (__class__,__subclasses__,__globals__, frame/traceback introspection) and format-string dunder traversal. (#13397) - Server-policy gate —
ensure_code_execution_enabled()refuses to run whenallow_custom_components=Falseorblock_code_interpreter_components=True, and fails closed if the settings stack cannot be resolved. (#13700 — this advisory — and #14375) - Allow-listed module proxies — imported modules are exposed via a proxy that blocks reaching
sys.modules["os"]through a module's transitive import graph. (#15198) - Optional hardware isolation — configure
LANGFLOW_SANDBOX_BACKENDto run interpreter code in an isolated microVM instead of in-process. (#14400)
Upstream fix references: #13397, #13700 (carries this GHSA), #14375, #14400, #15198.
Hardening recommendations for operators
- Keep Langflow updated (>= 1.12.3).
- For locked-down deployments, set
LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false(orLANGFLOW_BLOCK_CODE_INTERPRETER_COMPONENTS=true) to disable the interpreter entirely. - For deployments that must run untrusted code, configure
LANGFLOW_SANDBOX_BACKENDfor microVM isolation. - Run the Langflow service as an unprivileged user with least-privilege database credentials.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "langflow"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.10.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-10561"
],
"database_specific": {
"cwe_ids": [
"CWE-266",
"CWE-94",
"CWE-95"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-06T13:38:28Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "### Summary\n\nLangflow\u0027s built-in Python interpreter components \u2014 `PythonREPLComponent` (Python Interpreter) and the legacy `PythonREPLToolComponent` (Python REPL Tool) \u2014 executed arbitrary user- or model-supplied Python code inside flows without effective sandboxing. Because the code ran in-process with the privileges of the Langflow service, any **authenticated** user who could edit and run a flow could achieve remote code execution and, from there, escalate privileges to superuser (e.g. by opening a database session and flipping `is_superuser`) or compromise the host.\n\n**This issue is fixed as of 1.10.1**, with additional hardening through 1.12.3. See *Remediation* below.\n\n### Affected\n\n- **Package:** `langflow` (PyPI), and the underlying `lfx` package that ships the component.\n- **Vulnerable versions:** `\u003c 1.10.1`.\n- **Patched:** `1.10.1` (core fix). Upgrade to `\u003e= 1.12.3` for the complete hardening series.\n\n### Details\n\nThe root cause is **code injection** (CWE-94/CWE-95): the component passed raw input to LangChain\u0027s `PythonREPL`, which is explicitly *not* a security sandbox.\n\nTwo distinct weaknesses existed before 1.10.1:\n\n1. **Unrestricted builtins (default deployments).** `get_globals()` built the `exec` globals from the `global_imports` allow-list but never set `__builtins__`. CPython\u0027s `exec()` then auto-injected the full `builtins` module, leaving `__import__`, `open`, `eval`, `exec` and the whole import machinery reachable regardless of the allow-list \u2014 e.g. `__import__(\"os\").system(...)` or `__import__(\"subprocess\").check_output([...])`. This made the \"only modules in Global Imports can be used\" guarantee false, and it applied even with the **default** configuration (`allow_custom_components=True`).\n\n2. **No server-policy gate (locked-down deployments).** Even a deployment hardened with `allow_custom_components=False` could still run interpreter code, because the components did not consult that policy before executing.\n\nBoth let an authenticated user run the reported PoC, which opens a DB session and sets `is_superuser = True` on their account, or writes to the filesystem / runs OS commands with the service\u0027s privileges.\n\n### PoC (as reported)\n\n1. Authenticate as a normal user.\n2. Create a flow with the `PythonREPLComponent`.\n3. Execute Python that imports Langflow internals and elevates the account:\n\n```python\nimport asyncio\nfrom sqlmodel import select\nfrom langflow.services.database.models.user.model import User\nfrom langflow.services.deps import session_scope\n\nasync def escalate():\n async with session_scope() as session:\n stmt = select(User).where(User.username == \u0027testuser\u0027)\n user = (await session.exec(stmt)).first()\n if user:\n user.is_superuser = True\n session.add(user)\n await session.commit()\n\nasyncio.run(escalate())\n```\n\n### Impact\n\nAny authenticated user could:\n- Execute arbitrary Python / OS commands with the Langflow service\u0027s privileges (RCE).\n- Escalate their own account to superuser via direct database access.\n- Read/modify data and configuration, and potentially pivot to the underlying host.\n\n### Remediation\n\nUpgrade to **Langflow 1.10.1 or later** (preferably **\u003e= 1.12.3**). The interpreter components were hardened with layered, defense-in-depth controls, applied in `run_python_repl()` before any code is executed:\n\n- **Restricted builtins** \u2014 `get_globals()` injects a curated `safe_builtins()` mapping, removing `__import__`, `eval`, `exec`, `compile`, `open`, `input`, `globals`/`locals`/`vars`, `getattr`/`setattr`, etc. (#13397)\n- **AST validation** \u2014 `validate_code_safety()` rejects inline `import`/`from ... import`, dunder/escape-gadget attribute access (`__class__`, `__subclasses__`, `__globals__`, frame/traceback introspection) and format-string dunder traversal. (#13397)\n- **Server-policy gate** \u2014 `ensure_code_execution_enabled()` refuses to run when `allow_custom_components=False` or `block_code_interpreter_components=True`, and **fails closed** if the settings stack cannot be resolved. (#13700 \u2014 this advisory \u2014 and #14375)\n- **Allow-listed module proxies** \u2014 imported modules are exposed via a proxy that blocks reaching `sys.modules[\"os\"]` through a module\u0027s transitive import graph. (#15198)\n- **Optional hardware isolation** \u2014 configure `LANGFLOW_SANDBOX_BACKEND` to run interpreter code in an isolated microVM instead of in-process. (#14400)\n\nUpstream fix references: #13397, #13700 (carries this GHSA), #14375, #14400, #15198.\n\n### Hardening recommendations for operators\n\n- Keep Langflow updated (\u003e= 1.12.3).\n- For locked-down deployments, set `LANGFLOW_ALLOW_CUSTOM_COMPONENTS=false` (or `LANGFLOW_BLOCK_CODE_INTERPRETER_COMPONENTS=true`) to disable the interpreter entirely.\n- For deployments that must run untrusted code, configure `LANGFLOW_SANDBOX_BACKEND` for microVM isolation.\n- Run the Langflow service as an unprivileged user with least-privilege database credentials.",
"id": "GHSA-8qpj-27x8-pwpq",
"modified": "2026-10-06T13:38:28Z",
"published": "2026-10-06T13:38:28Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/langflow-ai/langflow/security/advisories/GHSA-8qpj-27x8-pwpq"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-10561"
},
{
"type": "WEB",
"url": "https://github.com/langflow-ai/langflow/pull/13700"
},
{
"type": "WEB",
"url": "https://github.com/langflow-ai/langflow/commit/2754c84aad1306f463db1c3bbb3e8ffbe85da77d"
},
{
"type": "PACKAGE",
"url": "https://github.com/langflow-ai/langflow"
},
{
"type": "WEB",
"url": "https://github.com/langflow-ai/langflow/releases/tag/v1.10.1"
},
{
"type": "WEB",
"url": "https://www.ibm.com/support/pages/node/7277242"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Langflow: PythonREPLComponent executes unsandboxed Python code, enabling authenticated RCE and privilege escalation"
}
Mitigation MIT-1
Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
Mitigation MIT-17
Strategy: Environment Hardening
Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations.
No CAPEC attack patterns related to this CWE.