CWE-862
Weakness Allowed-with-ReviewMissing Authorization
Abstraction: Class · Status: Incomplete
The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Dimensions
- Behavior-Property: Missing
- Behavior-Type: Authorization
Mapping guidance
This CWE entry is a Class and might have Base-level children that would be more appropriate
Examine children of this entry to see if there is a better fit
Relationships and members
Modes of introduction
OMISSION: This weakness is caused by missing a security tactic during the architecture and design phase.
Authorization weaknesses may arise when a single-user application is ported to a multi-user environment.
A developer may introduce authorization weaknesses because of a lack of understanding about the underlying technologies. For example, a developer may assume that attackers cannot modify certain inputs such as headers or cookies.
Detection methods
Automated Static Analysis
Automated static analysis is useful for detecting commonly-used idioms for authorization. A tool may be able to analyze related configuration files, such as .htaccess in Apache web servers, or detect the usage of commonly-used authorization libraries.
Generally, automated static analysis tools have difficulty detecting custom authorization schemes. In addition, the software's design may include some functionality that is accessible to any user and does not require an authorization check; an automated technique that detects the absence of authorization may report false positives.
Effectiveness: Limited
Automated Dynamic Analysis
Automated dynamic analysis may find many or all possible interfaces that do not require authorization, but manual analysis is required to determine if the lack of authorization violates business logic.
Manual Analysis
This weakness can be detected using tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session.
Specifically, manual static analysis is useful for evaluating the correctness of custom authorization mechanisms.
Effectiveness: Moderate
These may be more effective than strictly automated techniques. This is especially the case with weaknesses that are related to design and business rules. However, manual efforts might not achieve desired code coverage within limited time constraints.
Manual Static Analysis - Binary or Bytecode
According to SOAR [REF-1479], the following detection techniques may be useful:
Cost effective for partial coverage:
Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies
Effectiveness: SOAR Partial
Dynamic Analysis with Automated Results Interpretation
According to SOAR [REF-1479], the following detection techniques may be useful:
Cost effective for partial coverage:
Web Application Scanner
Web Services Scanner
Database Scanners
Effectiveness: SOAR Partial
Dynamic Analysis with Manual Results Interpretation
According to SOAR [REF-1479], the following detection techniques may be useful:
Cost effective for partial coverage:
Host Application Interface Scanner
Fuzz Tester
Framework-based Fuzzer
Effectiveness: SOAR Partial
Manual Static Analysis - Source Code
According to SOAR [REF-1479], the following detection techniques may be useful:
Cost effective for partial coverage:
Focused Manual Spotcheck - Focused manual analysis of source
Manual Source Code Review (not inspections)
Effectiveness: SOAR Partial
Automated Static Analysis - Source Code
According to SOAR [REF-1479], the following detection techniques may be useful:
Cost effective for partial coverage:
Source code Weakness Analyzer
Context-configured Source Code Weakness Analyzer
Effectiveness: SOAR Partial
Architecture or Design Review
According to SOAR [REF-1479], the following detection techniques may be useful:
Highly cost effective:
Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)
Formal Methods / Correct-By-Construction
Effectiveness: High
Notes
Terminology
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource, based on the user's privileges and any permissions or other access-control specifications that apply to the resource.
Content history
Suggested mappings to ISA/IEC 62443.
Provided diagram to improve CWE usability
updated Demonstrative_Examples, Related_Attack_Patterns, Relationships
updated Potential_Mitigations, References, Relationships
updated Demonstrative_Examples, Observed_Examples, References, Relationships
updated Potential_Mitigations
updated Relationships
updated Detection_Factors
updated Relationships
updated Applicable_Platforms, Modes_of_Introduction, References, Relationships
updated References
updated Relationships
updated Relationships
updated Relationships
updated Relationships
updated Alternate_Terms, Observed_Examples
updated Observed_Examples, Related_Attack_Patterns, Relationships
updated Relationships
updated Relationships
updated Observed_Examples
updated Description, Potential_Mitigations
updated References, Relationships, Taxonomy_Mappings
updated Mapping_Notes, Relationships, Taxonomy_Mappings
updated Common_Consequences, Description, Diagram, Relationships, Terminology_Notes
updated Applicable_Platforms, Detection_Factors, Observed_Examples, References
updated Applicable_Platforms, Relationships, Weakness_Ordinalities
updated Applicable_Platforms, Observed_Examples, Relationships
updated Applicable_Platforms, Dimensions, References, Relationships, Taxonomy_Mappings
20048 vulnerabilities reference this CWE, most recent first.
GHSA-H6PP-3XQ5-58PH
Vulnerability from github – Published: 2026-07-13 12:35 – Updated: 2026-10-19 09:30Missing Authorization vulnerability in Themeum Kirki kirki allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Kirki: from n/a through <= 6.0.13.
{
"affected": [],
"aliases": [
"CVE-2026-57727"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-07-13T10:16:39Z",
"severity": "HIGH"
},
"details": "Missing Authorization vulnerability in Themeum Kirki kirki allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Kirki: from n/a through \u003c= 6.0.13.",
"id": "GHSA-h6pp-3xq5-58ph",
"modified": "2026-10-19T09:30:46Z",
"published": "2026-07-13T12:35:04Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-57727"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/Wordpress/Plugin/kirki/vulnerability/wordpress-kirki-plugin-6-0-13-broken-access-control-vulnerability?_s_id=cve"
}
],
"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-H6PV-V424-W79G
Vulnerability from github – Published: 2025-09-22 21:30 – Updated: 2025-09-22 21:30The SureForms – Drag and Drop Contact Form Builder – Multi-step Forms, Conversational Forms and more plugin for WordPress is vulnerable to unauthorized creation of forms due to a missing capability check on the register_post_types() function in all versions up to, and including, 1.12.0. This makes it possible for authenticated attackers, with Contributor-level access and above, to create forms when the user interface specifically prohibits it.
{
"affected": [],
"aliases": [
"CVE-2025-10489"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-09-20T05:15:35Z",
"severity": "MODERATE"
},
"details": "The SureForms \u2013 Drag and Drop Contact Form Builder \u2013 Multi-step Forms, Conversational Forms and more plugin for WordPress is vulnerable to unauthorized creation of forms due to a missing capability check on the register_post_types() function in all versions up to, and including, 1.12.0. This makes it possible for authenticated attackers, with Contributor-level access and above, to create forms when the user interface specifically prohibits it.",
"id": "GHSA-h6pv-v424-w79g",
"modified": "2025-09-22T21:30:19Z",
"published": "2025-09-22T21:30:18Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-10489"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/changeset/3363914/sureforms/trunk/inc/post-types.php"
},
{
"type": "WEB",
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/6d03f316-542c-4128-b49d-fd2fd8609dd6?source=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H6QV-F5GF-8GCF
Vulnerability from github – Published: 2021-06-16 17:29 – Updated: 2023-10-27 14:23Jenkins P4 Plugin 1.11.4 and earlier does not perform permission checks in multiple HTTP endpoints, allowing attackers with Overall/Read permission to connect to an attacker-specified Perforce server using attacker-specified username and password.
Jenkins P4 Plugin 1.11.5 requires Overall/Administer for the affected HTTP endpoints.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 1.11.4"
},
"package": {
"ecosystem": "Maven",
"name": "org.jenkins-ci.plugins:p4"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.11.5"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-21654"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": true,
"github_reviewed_at": "2021-05-19T18:33:13Z",
"nvd_published_at": "2021-05-11T15:15:00Z",
"severity": "MODERATE"
},
"details": "Jenkins P4 Plugin 1.11.4 and earlier does not perform permission checks in multiple HTTP endpoints, allowing attackers with Overall/Read permission to connect to an attacker-specified Perforce server using attacker-specified username and password.\n\nJenkins P4 Plugin 1.11.5 requires Overall/Administer for the affected HTTP endpoints.",
"id": "GHSA-h6qv-f5gf-8gcf",
"modified": "2023-10-27T14:23:01Z",
"published": "2021-06-16T17:29:35Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-21654"
},
{
"type": "WEB",
"url": "https://github.com/jenkinsci/p4-plugin/commit/6b0237b04c985987460e31987d3cb314afa1ead6"
},
{
"type": "PACKAGE",
"url": "https://github.com/jenkinsci/p4-plugin"
},
{
"type": "WEB",
"url": "https://www.jenkins.io/security/advisory/2021-05-11/#SECURITY-2327"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Missing Authorization in Jenkins P4 plugin"
}
GHSA-H6RG-3V58-MP3F
Vulnerability from github – Published: 2024-02-16 00:30 – Updated: 2024-10-31 18:31In backupAgentCreated of ActivityManagerService.java, there is a possible way to leak sensitive data due to a missing permission check. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.
{
"affected": [],
"aliases": [
"CVE-2023-40105"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-02-15T23:15:08Z",
"severity": "MODERATE"
},
"details": "In backupAgentCreated of ActivityManagerService.java, there is a possible way to leak sensitive data due to a missing permission check. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.",
"id": "GHSA-h6rg-3v58-mp3f",
"modified": "2024-10-31T18:31:15Z",
"published": "2024-02-16T00:30:28Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-40105"
},
{
"type": "WEB",
"url": "https://android.googlesource.com/platform/frameworks/base/+/935eb5ed6be35860a99ea242fb753f687d54a308"
},
{
"type": "WEB",
"url": "https://source.android.com/security/bulletin/2023-11-01"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H6RV-P7G5-C45X
Vulnerability from github – Published: 2023-02-14 06:31 – Updated: 2023-02-22 18:30SAP S/4 HANA Map Treasury Correspondence Format Data does not perform necessary authorization check for an authenticated user, resulting in escalation of privileges. This could allow an attacker to delete the data with a high impact to availability.
{
"affected": [],
"aliases": [
"CVE-2023-24524"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-02-14T04:15:00Z",
"severity": "MODERATE"
},
"details": "SAP S/4 HANA Map Treasury Correspondence Format Data does not perform necessary authorization check for an authenticated user, resulting in escalation of privileges. This could allow an attacker to delete the data with a high impact to availability.",
"id": "GHSA-h6rv-p7g5-c45x",
"modified": "2023-02-22T18:30:33Z",
"published": "2023-02-14T06:31:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-24524"
},
{
"type": "WEB",
"url": "https://launchpad.support.sap.com/#/notes/2985905"
},
{
"type": "WEB",
"url": "https://www.sap.com/documents/2022/02/fa865ea4-167e-0010-bca6-c68f7e60039b.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-H6W4-M48P-MPF7
Vulnerability from github – Published: 2026-06-15 21:30 – Updated: 2026-06-15 21:30Unauthenticated Broken Access Control in Essential Addons for Elementor < 6.6.0 versions.
{
"affected": [],
"aliases": [
"CVE-2026-25440"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-06-15T21:16:40Z",
"severity": "MODERATE"
},
"details": "Unauthenticated Broken Access Control in Essential Addons for Elementor \u003c 6.6.0 versions.",
"id": "GHSA-h6w4-m48p-mpf7",
"modified": "2026-06-15T21:30:43Z",
"published": "2026-06-15T21:30:43Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-25440"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/essential-addons-for-elementor-lite/vulnerability/wordpress-essential-addons-for-elementor-plugin-6-5-13-broken-access-control-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H6W6-XX8J-7QV2
Vulnerability from github – Published: 2024-01-16 15:30 – Updated: 2024-04-01 09:30A vulnerability classified as problematic has been found in Totolink T8 4.1.5cu.833_20220905. This affects the function getSysStatusCfg of the file /cgi-bin/cstecgi.cgi of the component Setting Handler. The manipulation of the argument ssid/key leads to information disclosure. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 4.1.5cu.862_B20230228 is able to address this issue. It is recommended to upgrade the affected component. The identifier VDB-250785 was assigned to this vulnerability.
{
"affected": [],
"aliases": [
"CVE-2024-0569"
],
"database_specific": {
"cwe_ids": [
"CWE-200",
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-01-16T13:15:08Z",
"severity": "MODERATE"
},
"details": "A vulnerability classified as problematic has been found in Totolink T8 4.1.5cu.833_20220905. This affects the function getSysStatusCfg of the file /cgi-bin/cstecgi.cgi of the component Setting Handler. The manipulation of the argument ssid/key leads to information disclosure. It is possible to initiate the attack remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 4.1.5cu.862_B20230228 is able to address this issue. It is recommended to upgrade the affected component. The identifier VDB-250785 was assigned to this vulnerability.",
"id": "GHSA-h6w6-xx8j-7qv2",
"modified": "2024-04-01T09:30:31Z",
"published": "2024-01-16T15:30:27Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-0569"
},
{
"type": "WEB",
"url": "https://drive.google.com/file/d/1WSWrGEKUkvPk8hq1VRng-wbR7T6CknGY/view?usp=sharing"
},
{
"type": "WEB",
"url": "https://vuldb.com/?ctiid.250785"
},
{
"type": "WEB",
"url": "https://vuldb.com/?id.250785"
},
{
"type": "WEB",
"url": "https://vuldb.com/?submit.263653"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-H6W7-XXCF-W2MQ
Vulnerability from github – Published: 2026-09-04 21:13 – Updated: 2026-09-04 21:13CVE: This vulnerability corresponds to CVE-2026-72795.
Summary
/api/block/getBlockDOMWithEmbed and /api/block/getBlockDOMsWithEmbed gate only the requested block against publish access. The blocks pulled in by that block's embed (transclusion) query are inlined into the returned DOM with no publish-access check at all, so a reader who requests a legitimately-published block containing an embed query receives the content of every block that query matched including blocks in hidden, forbidden and password-protected documents.
The dedicated embed endpoint getEmbedBlock filters these same results for reader roles. The DOM-with-embed path does not.
Details
| Item | Detail |
|---|---|
| Routes | kernel/api/router.go:226 POST /api/block/getBlockDOMWithEmbed → model.CheckAuth → getBlockDOMWithEmbed; :227 POST /api/block/getBlockDOMsWithEmbed → model.CheckAuth → getBlockDOMsWithEmbed |
| Middleware | CheckAuth only — no CheckReadonly, no CheckAdminRole → reachable by the publish RoleReader token, and anonymously when Publish.Auth.Enable is false |
| Guard present | Top-level requested block only. Singular: password + disable checks on the requested id. Plural: filterBlockDOMsByPublishAccess over the requested ids. |
| Guard absent | The embedded blocks resolved from the query |
| Exposed | Content HTML of every block matched by the embed query, regardless of that block's publish visibility or password tier |
The leak path. getBlockDOMWithEmbed → GetBlockDOMsWithEmbedInBox → resolveEmbedContentInBox (kernel/model/block.go:976). That function walks the tree for NodeBlockQueryEmbed, extracts the embed SQL, executes sql.SelectBlocksRawStmtInBox(stmt, ...), builds embedContents from each matched block's content HTML, and inlines the result via SetIALAttr("embed-content", ...).
resolveEmbedContentInBox takes no publishAccess parameter and contains no filtering: FilterEmbedBlocks, CheckBlockIdAccessableByPublishAccess, CheckPathAccessable, publishAccess and IsReadOnlyRoleContext all return zero matches in that function and its call path. The top-level gate therefore passes on the requested block, and the response body carries content the reader has no access to.
Embed queries in published documents routinely span the entire workspace by design, dashboard documents, "all my TODOs" aggregations, tag or attribute rollups. The reader does not need to construct anything: requesting an already-published document that contains such an embed is sufficient. If the publish frontend renders embedded blocks through this endpoint, the disclosure occurs passively during normal viewing of any published document containing an embed block.
Guarded sibling. getEmbedBlock (kernel/api/router.go:212), which is also reader-reachable and returns embed query results, applies model.FilterEmbedBlocksByPublishAccess(c, publishAccess, blocks) for reader roles (kernel/model/search.go:38). The same class of data is filtered there and unfiltered here.
Scope note. A prior review of getBlockDOMsWithEmbed confirmed that the per-id publish gate is correctly applied to the requested ids. That observation is accurate and is not in dispute, this report concerns the embedded blocks resolved downstream in resolveEmbedContentInBox, which are not covered by that gate.
Proof of Concept
Precondition: publish mode enabled (default port 6808); anonymous when Publish.Auth.Enable is false, otherwise any publish reader account. A published document containing an embed query whose results include at least one block in a non-published or password-protected document.
POST http://127.0.0.1:6808/api/block/getBlockDOMWithEmbed
{"id":"<id of a published block containing an embed query>"}
→ 200
The returned DOM contains embed-content attributes carrying the
content HTML of blocks in documents the reader has no publish
access to.
Differential check against the filtered sibling, using the same reader session and the same underlying query:
POST http://127.0.0.1:6808/api/search/getEmbedBlock
{"stmt":"<the same embed query>"}
→ 200, results filtered by FilterEmbedBlocksByPublishAccess
The filtered endpoint withholds the private blocks; the DOM endpoint returns their content.
The plural route behaves identically for each requested id:
POST http://127.0.0.1:6808/api/block/getBlockDOMsWithEmbed
{"ids":["<published block containing an embed query>"]}
Impact
An anonymous reader in publish mode or any publish RoleReader can read the content of blocks in documents that are not published, are marked hidden or forbidden, or are protected by a publish password, by requesting a published block that transcludes them. Because embed queries in aggregation-style published documents commonly match across the whole workspace, the volume of exposed content is bounded only by what the author's embed queries happen to match, not by anything under the reader's control being unusual. Confidentiality-only; no integrity or availability impact.
Suggested fix
Thread the request's publishAccess context into resolveEmbedContentInBox and, when IsReadOnlyRoleContext holds, drop any matched block failing CheckBlockIdAccessableByPublishAccess and the password-tier check before its content is written into embed-content mirroring the treatment getEmbedBlock already gives the same data via FilterEmbedBlocksByPublishAccess.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/siyuan-note/siyuan/kernel"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.0.0-20260725125659-1ca1c3c9d94b"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-72795"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-04T21:13:13Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "**CVE:** This vulnerability corresponds to [CVE-2026-72795](https://nvd.nist.gov/vuln/detail/CVE-2026-72795).\n\n### Summary\n\n`/api/block/getBlockDOMWithEmbed` and `/api/block/getBlockDOMsWithEmbed` gate only the *requested* block against publish access. The blocks pulled in by that block\u0027s embed (transclusion) query are inlined into the returned DOM with no publish-access check at all, so a reader who requests a legitimately-published block containing an embed query receives the content of every block that query matched including blocks in hidden, forbidden and password-protected documents.\n\nThe dedicated embed endpoint `getEmbedBlock` filters these same results for reader roles. The DOM-with-embed path does not.\n\n### Details\n\n| Item | Detail |\n|---|---|\n| Routes | `kernel/api/router.go:226` `POST /api/block/getBlockDOMWithEmbed` \u2192 `model.CheckAuth` \u2192 `getBlockDOMWithEmbed`; `:227` `POST /api/block/getBlockDOMsWithEmbed` \u2192 `model.CheckAuth` \u2192 `getBlockDOMsWithEmbed` |\n| Middleware | `CheckAuth` only \u2014 no `CheckReadonly`, no `CheckAdminRole` \u2192 reachable by the publish `RoleReader` token, and anonymously when `Publish.Auth.Enable` is `false` |\n| Guard present | Top-level requested block only. Singular: password + disable checks on the requested id. Plural: `filterBlockDOMsByPublishAccess` over the requested ids. |\n| Guard absent | The embedded blocks resolved from the query |\n| Exposed | Content HTML of every block matched by the embed query, regardless of that block\u0027s publish visibility or password tier |\n\n**The leak path.** `getBlockDOMWithEmbed` \u2192 `GetBlockDOMsWithEmbedInBox` \u2192 `resolveEmbedContentInBox` (`kernel/model/block.go:976`). That function walks the tree for `NodeBlockQueryEmbed`, extracts the embed SQL, executes `sql.SelectBlocksRawStmtInBox(stmt, ...)`, builds `embedContents` from each matched block\u0027s content HTML, and inlines the result via `SetIALAttr(\"embed-content\", ...)`.\n\n`resolveEmbedContentInBox` takes no `publishAccess` parameter and contains no filtering: `FilterEmbedBlocks`, `CheckBlockIdAccessableByPublishAccess`, `CheckPathAccessable`, `publishAccess` and `IsReadOnlyRoleContext` all return zero matches in that function and its call path. The top-level gate therefore passes on the requested block, and the response body carries content the reader has no access to.\n\nEmbed queries in published documents routinely span the entire workspace by design, dashboard documents, \"all my TODOs\" aggregations, tag or attribute rollups. The reader does not need to construct anything: requesting an already-published document that contains such an embed is sufficient. If the publish frontend renders embedded blocks through this endpoint, the disclosure occurs passively during normal viewing of any published document containing an embed block.\n\n**Guarded sibling.** `getEmbedBlock` (`kernel/api/router.go:212`), which is also reader-reachable and returns embed query results, applies `model.FilterEmbedBlocksByPublishAccess(c, publishAccess, blocks)` for reader roles (`kernel/model/search.go:38`). The same class of data is filtered there and unfiltered here.\n\n**Scope note.** A prior review of `getBlockDOMsWithEmbed` confirmed that the per-id publish gate is correctly applied to the *requested* ids. That observation is accurate and is not in dispute, this report concerns the *embedded* blocks resolved downstream in `resolveEmbedContentInBox`, which are not covered by that gate.\n\n### Proof of Concept\n\nPrecondition: publish mode enabled (default port 6808); anonymous when `Publish.Auth.Enable` is `false`, otherwise any publish reader account. A published document containing an embed query whose results include at least one block in a non-published or password-protected document.\n\n```\nPOST http://127.0.0.1:6808/api/block/getBlockDOMWithEmbed\n{\"id\":\"\u003cid of a published block containing an embed query\u003e\"}\n\n\u2192 200\n The returned DOM contains embed-content attributes carrying the\n content HTML of blocks in documents the reader has no publish\n access to.\n```\n\nDifferential check against the filtered sibling, using the same reader session and the same underlying query:\n\n```\nPOST http://127.0.0.1:6808/api/search/getEmbedBlock\n{\"stmt\":\"\u003cthe same embed query\u003e\"}\n\n\u2192 200, results filtered by FilterEmbedBlocksByPublishAccess\n```\n\nThe filtered endpoint withholds the private blocks; the DOM endpoint returns their content.\n\nThe plural route behaves identically for each requested id:\n\n```\nPOST http://127.0.0.1:6808/api/block/getBlockDOMsWithEmbed\n{\"ids\":[\"\u003cpublished block containing an embed query\u003e\"]}\n```\n\n### Impact\n\nAn anonymous reader in publish mode or any publish `RoleReader` can read the content of blocks in documents that are not published, are marked hidden or forbidden, or are protected by a publish password, by requesting a published block that transcludes them. Because embed queries in aggregation-style published documents commonly match across the whole workspace, the volume of exposed content is bounded only by what the author\u0027s embed queries happen to match, not by anything under the reader\u0027s control being unusual. Confidentiality-only; no integrity or availability impact.\n\n### Suggested fix\n\nThread the request\u0027s `publishAccess` context into `resolveEmbedContentInBox` and, when `IsReadOnlyRoleContext` holds, drop any matched block failing `CheckBlockIdAccessableByPublishAccess` and the password-tier check before its content is written into `embed-content` mirroring the treatment `getEmbedBlock` already gives the same data via `FilterEmbedBlocksByPublishAccess`.",
"id": "GHSA-h6w7-xxcf-w2mq",
"modified": "2026-09-04T21:13:13Z",
"published": "2026-09-04T21:13:13Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/siyuan-note/siyuan/security/advisories/GHSA-h6w7-xxcf-w2mq"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-72795"
},
{
"type": "WEB",
"url": "https://github.com/siyuan-note/siyuan/commit/1ca1c3c9d94bea14fc9728ff2fb8392bb0f29732"
},
{
"type": "PACKAGE",
"url": "https://github.com/siyuan-note/siyuan"
},
{
"type": "WEB",
"url": "https://www.vulncheck.com/advisories/siyuan-before-information-disclosure-via-embed-block"
}
],
"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"
}
],
"summary": "SiYuan: Embedded (transclusion) block content is returned without publish-access filtering, leaking private and password-protected document content to anonymous readers"
}
GHSA-H6X8-FQGH-VWFQ
Vulnerability from github – Published: 2026-08-13 15:34 – Updated: 2026-08-13 15:34Unauthenticated Broken Access Control in WP Social Avatar <= 1.5 versions.
{
"affected": [],
"aliases": [
"CVE-2026-66454"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-13T14:17:06Z",
"severity": "MODERATE"
},
"details": "Unauthenticated Broken Access Control in WP Social Avatar \u003c= 1.5 versions.",
"id": "GHSA-h6x8-fqgh-vwfq",
"modified": "2026-08-13T15:34:40Z",
"published": "2026-08-13T15:34:40Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-66454"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/wp-social-avatar/vulnerability/wordpress-wp-social-avatar-plugin-1-5-broken-access-control-vulnerability?_s_id=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-H725-MP93-XVWC
Vulnerability from github – Published: 2026-11-11 12:31 – Updated: 2026-11-11 12:31Missing Authorization vulnerability in DEV Institute Restrict User Access – Membership Plugin with Force restrict-user-access allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Restrict User Access – Membership Plugin with Force: from n/a through 2.8.3.
{
"affected": [],
"aliases": [
"CVE-2026-124271"
],
"database_specific": {
"cwe_ids": [
"CWE-862"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-11-11T12:19:46Z",
"severity": "MODERATE"
},
"details": "Missing Authorization vulnerability in DEV Institute Restrict User Access \u2013 Membership Plugin with Force restrict-user-access allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Restrict User Access \u2013 Membership Plugin with Force: from n/a through 2.8.3.",
"id": "GHSA-h725-mp93-xvwc",
"modified": "2026-11-11T12:31:41Z",
"published": "2026-11-11T12:31:41Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-124271"
},
{
"type": "WEB",
"url": "https://patchstack.com/database/wordpress/plugin/restrict-user-access/vulnerability/wordpress-restrict-user-access-membership-plugin-with-force-plugin-2-8-3-broken-access-control-vulnerability?_s_id=cve"
}
],
"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"
}
]
}
Mitigation
- 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
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
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
- 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
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.
CAPEC-665: Exploitation of Thunderbolt Protection Flaws
An adversary leverages a firmware weakness within the Thunderbolt protocol, on a computing device to manipulate Thunderbolt controller firmware in order to exploit vulnerabilities in the implementation of authorization and verification schemes within Thunderbolt protection mechanisms. Upon gaining physical access to a target device, the adversary conducts high-level firmware manipulation of the victim Thunderbolt controller SPI (Serial Peripheral Interface) flash, through the use of a SPI Programing device and an external Thunderbolt device, typically as the target device is booting up. If successful, this allows the adversary to modify memory, subvert authentication mechanisms, spoof identities and content, and extract data and memory from the target device. Currently 7 major vulnerabilities exist within Thunderbolt protocol with 9 attack vectors as noted in the Execution Flow.