@blamejs/exceptd-skills 0.13.118 → 0.13.119
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/data/_indexes/_meta.json +8 -8
- package/data/_indexes/activity-feed.json +2 -2
- package/data/_indexes/catalog-summaries.json +2 -2
- package/data/_indexes/chains.json +561 -0
- package/data/attack-techniques.json +7 -3
- package/data/cve-catalog.json +205 -0
- package/data/cwe-catalog.json +4 -2
- package/data/framework-control-gaps.json +27 -10
- package/data/zeroday-lessons.json +100 -0
- package/manifest.json +44 -44
- package/package.json +1 -1
- package/sbom.cdx.json +22 -22
|
@@ -1100,7 +1100,9 @@
|
|
|
1100
1100
|
"CVE-2026-9082",
|
|
1101
1101
|
"MAL-2025-AI-FOUND-FFMPEG-BIGSLEEP",
|
|
1102
1102
|
"CVE-2024-12450",
|
|
1103
|
-
"CVE-2025-69286"
|
|
1103
|
+
"CVE-2025-69286",
|
|
1104
|
+
"CVE-2026-22218",
|
|
1105
|
+
"CVE-2026-22219"
|
|
1104
1106
|
],
|
|
1105
1107
|
"description_full": "Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration. Exploited applications are often websites/web servers, but can also include databases (like SQL), standard services (like SMB or SSH), network device administration and management protocols (like SNMP and Smart Install), and any other system with Internet-accessible open sockets.(Citation: NVD CVE-2016-6662)(Citation: CIS Multiple SMB Vulnerabilities)(Citation: US-CERT TA18-106A Network Infrastructure Devices 2018)(Citation: Cisco Blog Legacy Device Attacks)(Citation: NVD CVE-2014-7169) On ESXi infrastructure, adversaries may exploit exposed OpenSLP services; they may alternatively exploit exposed VMware vCenter servers.(Citation: Recorded Future ESXiArgs Ransomware 2023)(Citation: Ars Technica VMWare Code Execution Vulnerability 2021) Depending on the flaw being exploited, this may also involve [Exploitation for Stealth](https://attack.mitre.org/techniques/T1211) or [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203). If an application is hosted on cloud-based infrastructure and/or is containerized, then exploiting it may lead to compromise of the underlying instance or container. This can allow an adversary a path to access the cloud or container APIs (e.g., via the [Cloud Instance Metadata API](https://attack.mitre.org/techniques/T1552/005)), exploit container host access via [Escape to Host](https://attack.mitre.org/techniques/T1611), or take advantage of weak identity and access management policies. Adversaries may also exploit edge network infrastructure and related appliances, specifically targeting devices that do not support robust host-based defenses.(Citation: Mandiant Fortinet Zero Day)(Citation: Wired Russia Cyberwar) For websites and databases, the OWASP top 10 and CWE top 25 highlight the most common web-based vulnerabilities.(Citation: OWASP Top 10)(Citation: CWE top 25)",
|
|
1106
1108
|
"platforms": [
|
|
@@ -1323,7 +1325,8 @@
|
|
|
1323
1325
|
],
|
|
1324
1326
|
"cve_refs": [
|
|
1325
1327
|
"CVE-2026-41950",
|
|
1326
|
-
"CVE-2024-12450"
|
|
1328
|
+
"CVE-2024-12450",
|
|
1329
|
+
"CVE-2026-22218"
|
|
1327
1330
|
]
|
|
1328
1331
|
},
|
|
1329
1332
|
"T1485": {
|
|
@@ -1582,7 +1585,8 @@
|
|
|
1582
1585
|
"CVE-2025-68664",
|
|
1583
1586
|
"MAL-2025-PYPI-COLORAMA-SOLANA-STEALER",
|
|
1584
1587
|
"MAL-2026-RUBYGEMS-BUFFERZONECORP-SLEEPER",
|
|
1585
|
-
"CVE-2024-12450"
|
|
1588
|
+
"CVE-2024-12450",
|
|
1589
|
+
"CVE-2026-22219"
|
|
1586
1590
|
],
|
|
1587
1591
|
"description_full": "Adversaries may search compromised systems to find and obtain insecurely stored credentials. These credentials can be stored and/or misplaced in many locations on a system, including plaintext files (e.g. [Shell History](https://attack.mitre.org/techniques/T1552/003)), operating system or application-specific repositories (e.g. [Credentials in Registry](https://attack.mitre.org/techniques/T1552/002)), or other specialized files/artifacts (e.g. [Private Keys](https://attack.mitre.org/techniques/T1552/004)).(Citation: Brining MimiKatz to Unix)",
|
|
1588
1592
|
"platforms": [
|
package/data/cve-catalog.json
CHANGED
|
@@ -39336,5 +39336,210 @@
|
|
|
39336
39336
|
"_auto_imported": false,
|
|
39337
39337
|
"_intake_method": "manual-verified-curation",
|
|
39338
39338
|
"_kev_short_description": "RAGFlow generates API keys and share tokens with a predictable serializer keyed by tenant_id over a UUIDv1, so the tokens are mutually derivable and a shared link yields account takeover (CWE-340); fixed in 0.22.0."
|
|
39339
|
+
},
|
|
39340
|
+
"CVE-2026-22218": {
|
|
39341
|
+
"name": "Chainlit /project/element Arbitrary File Read",
|
|
39342
|
+
"type": "Path Traversal",
|
|
39343
|
+
"cvss_score": 7.1,
|
|
39344
|
+
"cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
|
|
39345
|
+
"cvss_note": "VulnCheck (CNA) CVSS v4.0 base 7.1 (HIGH); NVD CVSS v3.1 base 6.5. Chainlit's /project/element update flow accepts a custom Element with a user-controlled path value and copies the file at that path into the requesting user's session without validating it stays within the document store (CWE-22 path traversal), so an authenticated client reads arbitrary files on the server host.",
|
|
39346
|
+
"cisa_kev": false,
|
|
39347
|
+
"poc_available": true,
|
|
39348
|
+
"poc_description": "Documented in the disclosing advisory (https://github.com/advisories/GHSA-r399-636x-v7f6 cluster): an authenticated client submits a custom Element whose path field points outside the document store and reads the file's contents from its session.",
|
|
39349
|
+
"ai_discovered": false,
|
|
39350
|
+
"ai_discovery_source": "human_researcher",
|
|
39351
|
+
"ai_discovery_notes": "Disclosed via VulnCheck (CNA) and enriched by NVD. The abused surface is Chainlit, a widely used open-source framework for building conversational-AI / LLM apps.",
|
|
39352
|
+
"ai_assisted_weaponization": false,
|
|
39353
|
+
"ai_assisted_notes": "No AI-assisted weaponization; the flaw is missing path validation on a caller-supplied file path in an LLM app framework's element-update API.",
|
|
39354
|
+
"active_exploitation": "none",
|
|
39355
|
+
"active_exploitation_notes": "VulnCheck/NVD advisory disclosure with a coordinated fix; no confirmed in-the-wild exploitation reported as of curation, and the CVE is not in CISA KEV (verified against the live catalog).",
|
|
39356
|
+
"affected": "Chainlit before 2.9.4.",
|
|
39357
|
+
"affected_versions": [
|
|
39358
|
+
"Chainlit < 2.9.4"
|
|
39359
|
+
],
|
|
39360
|
+
"vector": "Chainlit's /project/element update flow accepts a custom Element with a user-controlled `path` value and copies the file at that path into the requesting user's session without confirming the path stays within the document store, so an authenticated client supplies a traversal path and reads arbitrary files on the server host (CWE-22).",
|
|
39361
|
+
"complexity": "low",
|
|
39362
|
+
"complexity_notes": "VulnCheck v4.0 AV:N / AC:L / PR:L - an authenticated client supplies a crafted element path.",
|
|
39363
|
+
"patch_available": true,
|
|
39364
|
+
"patch_required_reboot": false,
|
|
39365
|
+
"live_patch_available": false,
|
|
39366
|
+
"live_patch_tools": [],
|
|
39367
|
+
"live_patch_notes": "Remediation is upgrading to 2.9.4 or later (released 2025-12-24); redeploy, no host reboot.",
|
|
39368
|
+
"vendor_update_paths": [
|
|
39369
|
+
"Upgrade Chainlit to 2.9.4 or later. Canonicalize and validate every caller-supplied file path (including encoding transforms) against an allowlisted base directory before reading, and do not expose the app to untrusted users."
|
|
39370
|
+
],
|
|
39371
|
+
"framework_control_gaps": {
|
|
39372
|
+
"NIST-800-53-SI-10": "No input validation is applied to the caller-supplied element path before the server reads it (CWE-22).",
|
|
39373
|
+
"NIST-800-53-AC-3": "Access enforcement does not confine the read to the document store - an authenticated user reads arbitrary host files.",
|
|
39374
|
+
"ISO-27001-2022-A.8.28": "Secure coding does not require canonicalization + allowlisting of file paths in the LLM app framework's element API.",
|
|
39375
|
+
"NIS2-Art21-network-security": "Article 21 measures do not model an LLM app framework's file-bearing API as a path-traversal surface.",
|
|
39376
|
+
"DORA-Art-9": "ICT protection measures do not model arbitrary file read in an AI app as an ICT-risk event.",
|
|
39377
|
+
"UK-CAF-B4": "System security objective has no objective for path canonicalization on AI app-framework file APIs.",
|
|
39378
|
+
"AU-ISM-1546": "Patch-application control does not single out LLM app frameworks.",
|
|
39379
|
+
"ALL-AI-PIPELINE-INTEGRITY": "No framework treats an LLM app framework's path-bearing input as an integrity boundary requiring canonicalization."
|
|
39380
|
+
},
|
|
39381
|
+
"atlas_refs": [
|
|
39382
|
+
"AML.T0049"
|
|
39383
|
+
],
|
|
39384
|
+
"attack_refs": [
|
|
39385
|
+
"T1190",
|
|
39386
|
+
"T1213"
|
|
39387
|
+
],
|
|
39388
|
+
"rwep_score": 19,
|
|
39389
|
+
"rwep_factors": {
|
|
39390
|
+
"cisa_kev": 0,
|
|
39391
|
+
"poc_available": 20,
|
|
39392
|
+
"ai_factor": 0,
|
|
39393
|
+
"active_exploitation": 0,
|
|
39394
|
+
"blast_radius": 14,
|
|
39395
|
+
"patch_available": -15,
|
|
39396
|
+
"live_patch_available": 0,
|
|
39397
|
+
"reboot_required": 0
|
|
39398
|
+
},
|
|
39399
|
+
"rwep_notes": "Moderate (RWEP 19, \"patch within 30 days\" band per lib/scoring.js). Not KEV (verified), no confirmed in-the-wild exploitation, patched at 2.9.4 (Hard Rule #3): poc_available=20 + blast_radius=14 (authenticated arbitrary file read in a widely used LLM app framework - host secrets/config readable), minus patch_available 15.",
|
|
39400
|
+
"epss_score": 0.00044,
|
|
39401
|
+
"epss_date": "2026-05-26",
|
|
39402
|
+
"epss_note": "FIRST EPSS 0.00044 (14th percentile) as of 2026-05-26.",
|
|
39403
|
+
"epss_source": "https://api.first.org/data/v1/epss?cve=CVE-2026-22218",
|
|
39404
|
+
"cwe_refs": [
|
|
39405
|
+
"CWE-22"
|
|
39406
|
+
],
|
|
39407
|
+
"iocs": {
|
|
39408
|
+
"behavioral": [
|
|
39409
|
+
"Chainlit /project/element requests whose element path references files outside the document store (../ traversal or absolute host paths).",
|
|
39410
|
+
"Chainlit sessions receiving file contents (e.g. /etc/passwd, app config, secrets) not uploaded by the requesting user.",
|
|
39411
|
+
"Chainlit < 2.9.4 reachable by authenticated-but-untrusted users - the exposed precondition."
|
|
39412
|
+
],
|
|
39413
|
+
"_ioc_source_note": "Behavioral signatures anchored to VulnCheck / NVD CVE-2026-22218 (CWE-22) and the Chainlit 2.9.4 advisory."
|
|
39414
|
+
},
|
|
39415
|
+
"source_verified": "2026-05-26",
|
|
39416
|
+
"verification_sources": [
|
|
39417
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2026-22218",
|
|
39418
|
+
"https://github.com/advisories/GHSA-r399-636x-v7f6"
|
|
39419
|
+
],
|
|
39420
|
+
"vendor_advisories": [
|
|
39421
|
+
{
|
|
39422
|
+
"vendor": "VulnCheck",
|
|
39423
|
+
"advisory_id": "CVE-2026-22218",
|
|
39424
|
+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22218",
|
|
39425
|
+
"severity": "high",
|
|
39426
|
+
"published_date": "2026-01-20"
|
|
39427
|
+
},
|
|
39428
|
+
{
|
|
39429
|
+
"vendor": "NVD",
|
|
39430
|
+
"advisory_id": "CVE-2026-22218",
|
|
39431
|
+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22218",
|
|
39432
|
+
"severity": "medium",
|
|
39433
|
+
"published_date": "2026-01-20"
|
|
39434
|
+
}
|
|
39435
|
+
],
|
|
39436
|
+
"last_updated": "2026-05-26",
|
|
39437
|
+
"discovery_attribution_note": "Manually curated from NVD CVE-2026-22218 (CWE-22) + VulnCheck (CNA, CVSS v4.0 7.1). Chainlit LLM-app-framework arbitrary file read; reuses the AI-runtime-API path-traversal validation control NEW-CTRL-094 (shared with the AnythingLLM upload path-traversal and the Ollama path-traversal class).",
|
|
39438
|
+
"_auto_imported": false,
|
|
39439
|
+
"_intake_method": "manual-verified-curation",
|
|
39440
|
+
"_kev_short_description": "Chainlit /project/element copies a caller-supplied file path into the user's session without validation, letting an authenticated client read arbitrary host files (CWE-22); fixed in 2.9.4."
|
|
39441
|
+
},
|
|
39442
|
+
"CVE-2026-22219": {
|
|
39443
|
+
"name": "Chainlit /project/element SQLAlchemy-Backend Server-Side Request Forgery",
|
|
39444
|
+
"type": "Server-Side Request Forgery",
|
|
39445
|
+
"cvss_score": 8.3,
|
|
39446
|
+
"cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N",
|
|
39447
|
+
"cvss_note": "VulnCheck (CNA) CVSS v4.0 base 8.3 (HIGH); NVD CVSS v3.1 base 7.7 (scope-changed, S:C). When Chainlit is configured with the SQLAlchemy data-layer backend, its /project/element update flow accepts a custom Element with a user-controlled `url` value and the server issues an outbound GET to it, storing the response - so an authenticated client reaches internal services or cloud metadata via the Chainlit server (CWE-918 SSRF).",
|
|
39448
|
+
"cisa_kev": false,
|
|
39449
|
+
"poc_available": true,
|
|
39450
|
+
"poc_description": "Documented in the disclosing advisory (https://github.com/advisories/GHSA-r399-636x-v7f6): an authenticated client sets a custom Element's url field to an internal address and the server fetches and stores the response.",
|
|
39451
|
+
"ai_discovered": false,
|
|
39452
|
+
"ai_discovery_source": "human_researcher",
|
|
39453
|
+
"ai_discovery_notes": "Disclosed via VulnCheck (CNA) and enriched by NVD. The abused surface is Chainlit, a widely used open-source framework for building conversational-AI / LLM apps.",
|
|
39454
|
+
"ai_assisted_weaponization": false,
|
|
39455
|
+
"ai_assisted_notes": "No AI-assisted weaponization; the flaw is an unvalidated server-side fetch (SSRF) in an LLM app framework's element-update API.",
|
|
39456
|
+
"active_exploitation": "none",
|
|
39457
|
+
"active_exploitation_notes": "VulnCheck/NVD advisory disclosure with a coordinated fix; no confirmed in-the-wild exploitation reported as of curation, and the CVE is not in CISA KEV (verified against the live catalog).",
|
|
39458
|
+
"affected": "Chainlit before 2.9.4 when configured with the SQLAlchemy data-layer backend.",
|
|
39459
|
+
"affected_versions": [
|
|
39460
|
+
"Chainlit < 2.9.4 (SQLAlchemy data layer)"
|
|
39461
|
+
],
|
|
39462
|
+
"vector": "When Chainlit uses the SQLAlchemy data-layer backend, its /project/element update flow accepts a custom Element with a user-controlled `url` value and the server issues an outbound GET request to that URL and stores the response, without validating the destination - so an authenticated client reaches internal services or cloud-metadata endpoints via the server (CWE-918).",
|
|
39463
|
+
"complexity": "low",
|
|
39464
|
+
"complexity_notes": "VulnCheck v4.0 AV:N / AC:L / PR:L, scope-changed (SC:H) - an authenticated client supplies a crafted element url.",
|
|
39465
|
+
"patch_available": true,
|
|
39466
|
+
"patch_required_reboot": false,
|
|
39467
|
+
"live_patch_available": false,
|
|
39468
|
+
"live_patch_tools": [],
|
|
39469
|
+
"live_patch_notes": "Remediation is upgrading to 2.9.4 or later (released 2025-12-24); redeploy, no host reboot.",
|
|
39470
|
+
"vendor_update_paths": [
|
|
39471
|
+
"Upgrade Chainlit to 2.9.4 or later. Validate and allowlist every URL the element-update flow fetches: reject private, link-local, and cloud-metadata (169.254.169.254) addresses, reject non-HTTP schemes, and resolve+pin the host to prevent DNS-rebinding."
|
|
39472
|
+
],
|
|
39473
|
+
"framework_control_gaps": {
|
|
39474
|
+
"NIST-800-53-SC-7": "Boundary protection does not treat the LLM app framework's element-url fetch as an egress that can reach internal services.",
|
|
39475
|
+
"NIST-800-53-SI-10": "No input validation is applied to the user-supplied element url before the server fetches it (CWE-918).",
|
|
39476
|
+
"NIST-800-53-AC-3": "Access enforcement does not stop an authenticated user from directing the server to fetch internal resources.",
|
|
39477
|
+
"ISO-27001-2022-A.8.22": "Segregation of networks does not prevent the LLM app framework from reaching internal services on behalf of a caller.",
|
|
39478
|
+
"NIS2-Art21-network-security": "Article 21 network-security measures do not model an LLM app framework's server-side fetch as an SSRF pivot.",
|
|
39479
|
+
"DORA-Art-9": "ICT protection measures do not model an AI app framework's server-side fetch as an ICT-risk egress.",
|
|
39480
|
+
"UK-CAF-B4": "System security objective has no objective for destination validation on AI-app-framework server-side fetches.",
|
|
39481
|
+
"AU-ISM-1546": "Patch-application control does not single out LLM app frameworks.",
|
|
39482
|
+
"ALL-AI-PIPELINE-INTEGRITY": "No framework treats an LLM app framework's server-side fetch as an egress that must validate and allowlist destinations."
|
|
39483
|
+
},
|
|
39484
|
+
"atlas_refs": [
|
|
39485
|
+
"AML.T0049"
|
|
39486
|
+
],
|
|
39487
|
+
"attack_refs": [
|
|
39488
|
+
"T1190",
|
|
39489
|
+
"T1552"
|
|
39490
|
+
],
|
|
39491
|
+
"rwep_score": 23,
|
|
39492
|
+
"rwep_factors": {
|
|
39493
|
+
"cisa_kev": 0,
|
|
39494
|
+
"poc_available": 20,
|
|
39495
|
+
"ai_factor": 0,
|
|
39496
|
+
"active_exploitation": 0,
|
|
39497
|
+
"blast_radius": 18,
|
|
39498
|
+
"patch_available": -15,
|
|
39499
|
+
"live_patch_available": 0,
|
|
39500
|
+
"reboot_required": 0
|
|
39501
|
+
},
|
|
39502
|
+
"rwep_notes": "Moderate-high (RWEP 23, \"patch within 30 days\" band per lib/scoring.js). Not KEV (verified), no confirmed in-the-wild exploitation, patched at 2.9.4 (Hard Rule #3): poc_available=20 + blast_radius=18 (scope-changed SSRF that stores the fetched response - reaches internal services / cloud metadata in a widely used LLM app framework), minus patch_available 15.",
|
|
39503
|
+
"epss_score": 0.00052,
|
|
39504
|
+
"epss_date": "2026-05-26",
|
|
39505
|
+
"epss_note": "FIRST EPSS 0.00052 (16th percentile) as of 2026-05-26.",
|
|
39506
|
+
"epss_source": "https://api.first.org/data/v1/epss?cve=CVE-2026-22219",
|
|
39507
|
+
"cwe_refs": [
|
|
39508
|
+
"CWE-918"
|
|
39509
|
+
],
|
|
39510
|
+
"iocs": {
|
|
39511
|
+
"behavioral": [
|
|
39512
|
+
"Chainlit /project/element requests whose element url targets internal/link-local addresses or 169.254.169.254 (cloud metadata).",
|
|
39513
|
+
"Outbound GET requests from the Chainlit server to internal hosts triggered by element updates, with responses stored in the SQLAlchemy data layer.",
|
|
39514
|
+
"Chainlit < 2.9.4 with the SQLAlchemy data-layer backend reachable by authenticated-but-untrusted users - the exposed precondition."
|
|
39515
|
+
],
|
|
39516
|
+
"_ioc_source_note": "Behavioral signatures anchored to VulnCheck / NVD CVE-2026-22219 (CWE-918) and the Chainlit 2.9.4 advisory."
|
|
39517
|
+
},
|
|
39518
|
+
"source_verified": "2026-05-26",
|
|
39519
|
+
"verification_sources": [
|
|
39520
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2026-22219",
|
|
39521
|
+
"https://github.com/advisories/GHSA-r399-636x-v7f6"
|
|
39522
|
+
],
|
|
39523
|
+
"vendor_advisories": [
|
|
39524
|
+
{
|
|
39525
|
+
"vendor": "VulnCheck",
|
|
39526
|
+
"advisory_id": "CVE-2026-22219",
|
|
39527
|
+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22219",
|
|
39528
|
+
"severity": "high",
|
|
39529
|
+
"published_date": "2026-01-20"
|
|
39530
|
+
},
|
|
39531
|
+
{
|
|
39532
|
+
"vendor": "NVD",
|
|
39533
|
+
"advisory_id": "CVE-2026-22219",
|
|
39534
|
+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-22219",
|
|
39535
|
+
"severity": "high",
|
|
39536
|
+
"published_date": "2026-01-20"
|
|
39537
|
+
}
|
|
39538
|
+
],
|
|
39539
|
+
"last_updated": "2026-05-26",
|
|
39540
|
+
"discovery_attribution_note": "Manually curated from NVD CVE-2026-22219 (CWE-918) + VulnCheck (CNA, CVSS v4.0 8.3). Chainlit LLM-app-framework server-side request forgery; reuses the AI-data-pipeline import SSRF control NEW-CTRL-105 (shared with the Dify RemoteFileUploadApi, RAGFlow web_crawl, and Label Studio data-pipeline SSRFs).",
|
|
39541
|
+
"_auto_imported": false,
|
|
39542
|
+
"_intake_method": "manual-verified-curation",
|
|
39543
|
+
"_kev_short_description": "Chainlit /project/element (SQLAlchemy backend) fetches a caller-supplied url server-side and stores the response, letting an authenticated client reach internal services (CWE-918 SSRF); fixed in 2.9.4."
|
|
39339
39544
|
}
|
|
39340
39545
|
}
|
package/data/cwe-catalog.json
CHANGED
|
@@ -113,7 +113,8 @@
|
|
|
113
113
|
"CVE-2025-67818",
|
|
114
114
|
"CVE-2025-8110",
|
|
115
115
|
"CVE-2026-25592",
|
|
116
|
-
"CVE-2026-34926"
|
|
116
|
+
"CVE-2026-34926",
|
|
117
|
+
"CVE-2026-22218"
|
|
117
118
|
],
|
|
118
119
|
"framework_controls_partially_addressing": [
|
|
119
120
|
"NIST-800-53-AC-3",
|
|
@@ -1887,7 +1888,8 @@
|
|
|
1887
1888
|
"CVE-2025-25297",
|
|
1888
1889
|
"CVE-2025-56520",
|
|
1889
1890
|
"CVE-2025-61884",
|
|
1890
|
-
"CVE-2024-12450"
|
|
1891
|
+
"CVE-2024-12450",
|
|
1892
|
+
"CVE-2026-22219"
|
|
1891
1893
|
],
|
|
1892
1894
|
"framework_controls_partially_addressing": [
|
|
1893
1895
|
"NIST-800-53-SC-7",
|
|
@@ -118,7 +118,9 @@
|
|
|
118
118
|
"CVE-2026-41950",
|
|
119
119
|
"CVE-2026-45829",
|
|
120
120
|
"CVE-2024-12450",
|
|
121
|
-
"CVE-2025-69286"
|
|
121
|
+
"CVE-2025-69286",
|
|
122
|
+
"CVE-2026-22218",
|
|
123
|
+
"CVE-2026-22219"
|
|
122
124
|
],
|
|
123
125
|
"atlas_refs": [
|
|
124
126
|
"AML.T0018",
|
|
@@ -1259,7 +1261,8 @@
|
|
|
1259
1261
|
"CVE-2024-21626",
|
|
1260
1262
|
"CVE-2025-23266",
|
|
1261
1263
|
"CVE-2025-25297",
|
|
1262
|
-
"CVE-2025-56520"
|
|
1264
|
+
"CVE-2025-56520",
|
|
1265
|
+
"CVE-2026-22219"
|
|
1263
1266
|
],
|
|
1264
1267
|
"atlas_refs": [],
|
|
1265
1268
|
"attack_refs": [
|
|
@@ -1311,7 +1314,8 @@
|
|
|
1311
1314
|
"CVE-2026-30623",
|
|
1312
1315
|
"CVE-2026-31229",
|
|
1313
1316
|
"CVE-2026-31230",
|
|
1314
|
-
"CVE-2026-33017"
|
|
1317
|
+
"CVE-2026-33017",
|
|
1318
|
+
"CVE-2026-22218"
|
|
1315
1319
|
],
|
|
1316
1320
|
"atlas_refs": [
|
|
1317
1321
|
"AML.T0051",
|
|
@@ -2311,7 +2315,8 @@
|
|
|
2311
2315
|
"CVE-2025-56520",
|
|
2312
2316
|
"CVE-2026-34159",
|
|
2313
2317
|
"CVE-2026-42897",
|
|
2314
|
-
"CVE-2024-12450"
|
|
2318
|
+
"CVE-2024-12450",
|
|
2319
|
+
"CVE-2026-22219"
|
|
2315
2320
|
],
|
|
2316
2321
|
"atlas_refs": [
|
|
2317
2322
|
"AML.T0096",
|
|
@@ -2426,7 +2431,9 @@
|
|
|
2426
2431
|
"CVE-2026-42208",
|
|
2427
2432
|
"CVE-2026-45829",
|
|
2428
2433
|
"CVE-2026-9082",
|
|
2429
|
-
"CVE-2024-12450"
|
|
2434
|
+
"CVE-2024-12450",
|
|
2435
|
+
"CVE-2026-22218",
|
|
2436
|
+
"CVE-2026-22219"
|
|
2430
2437
|
],
|
|
2431
2438
|
"atlas_refs": [
|
|
2432
2439
|
"AML.T0053"
|
|
@@ -5208,7 +5215,9 @@
|
|
|
5208
5215
|
"CVE-2026-46333",
|
|
5209
5216
|
"CVE-2026-9082",
|
|
5210
5217
|
"CVE-2024-12450",
|
|
5211
|
-
"CVE-2025-69286"
|
|
5218
|
+
"CVE-2025-69286",
|
|
5219
|
+
"CVE-2026-22218",
|
|
5220
|
+
"CVE-2026-22219"
|
|
5212
5221
|
],
|
|
5213
5222
|
"atlas_refs": [],
|
|
5214
5223
|
"attack_refs": [
|
|
@@ -5258,7 +5267,9 @@
|
|
|
5258
5267
|
"CVE-2026-41947",
|
|
5259
5268
|
"CVE-2026-41950",
|
|
5260
5269
|
"CVE-2026-7482",
|
|
5261
|
-
"CVE-2025-69286"
|
|
5270
|
+
"CVE-2025-69286",
|
|
5271
|
+
"CVE-2026-22218",
|
|
5272
|
+
"CVE-2026-22219"
|
|
5262
5273
|
],
|
|
5263
5274
|
"atlas_refs": [
|
|
5264
5275
|
"AML.T0051"
|
|
@@ -5799,7 +5810,9 @@
|
|
|
5799
5810
|
"CVE-2026-46333",
|
|
5800
5811
|
"CVE-2026-9082",
|
|
5801
5812
|
"MAL-2026-SHAI-HULUD-OSS",
|
|
5802
|
-
"CVE-2024-12450"
|
|
5813
|
+
"CVE-2024-12450",
|
|
5814
|
+
"CVE-2026-22218",
|
|
5815
|
+
"CVE-2026-22219"
|
|
5803
5816
|
],
|
|
5804
5817
|
"atlas_refs": [],
|
|
5805
5818
|
"attack_refs": [
|
|
@@ -5924,7 +5937,9 @@
|
|
|
5924
5937
|
"CVE-2026-46333",
|
|
5925
5938
|
"CVE-2026-9082",
|
|
5926
5939
|
"CVE-2024-12450",
|
|
5927
|
-
"CVE-2025-69286"
|
|
5940
|
+
"CVE-2025-69286",
|
|
5941
|
+
"CVE-2026-22218",
|
|
5942
|
+
"CVE-2026-22219"
|
|
5928
5943
|
],
|
|
5929
5944
|
"atlas_refs": [],
|
|
5930
5945
|
"attack_refs": [
|
|
@@ -6346,7 +6361,9 @@
|
|
|
6346
6361
|
"CVE-2025-25297",
|
|
6347
6362
|
"CVE-2025-56520",
|
|
6348
6363
|
"CVE-2026-20182",
|
|
6349
|
-
"CVE-2024-12450"
|
|
6364
|
+
"CVE-2024-12450",
|
|
6365
|
+
"CVE-2026-22218",
|
|
6366
|
+
"CVE-2026-22219"
|
|
6350
6367
|
],
|
|
6351
6368
|
"atlas_refs": [],
|
|
6352
6369
|
"attack_refs": [
|
|
@@ -17136,5 +17136,105 @@
|
|
|
17136
17136
|
],
|
|
17137
17137
|
"_auto_imported": false,
|
|
17138
17138
|
"_intake_method": "manual-verified-curation"
|
|
17139
|
+
},
|
|
17140
|
+
"CVE-2026-22218": {
|
|
17141
|
+
"name": "Chainlit /project/element Arbitrary File Read",
|
|
17142
|
+
"lesson_date": "2026-05-26",
|
|
17143
|
+
"attack_vector": {
|
|
17144
|
+
"description": "Chainlit's /project/element update flow copies a file at a caller-supplied path into the user's session without validating it stays within the document store, so an authenticated client reads arbitrary host files.",
|
|
17145
|
+
"privileges_required": "low (an authenticated client)",
|
|
17146
|
+
"complexity": "low",
|
|
17147
|
+
"ai_factor": "The abused surface is Chainlit, an open-source LLM-app framework. The lesson: an LLM app framework's file/path-bearing inputs must be canonicalized and validated against an allowlisted base before any filesystem read, and the app must not be exposed to untrusted users."
|
|
17148
|
+
},
|
|
17149
|
+
"framework_coverage": {
|
|
17150
|
+
"NIST-800-53-SI-10": {
|
|
17151
|
+
"covered": true,
|
|
17152
|
+
"adequate": false,
|
|
17153
|
+
"gap": "No input validation is applied to the caller-supplied element path before the server reads it."
|
|
17154
|
+
},
|
|
17155
|
+
"NIST-800-53-AC-3": {
|
|
17156
|
+
"covered": true,
|
|
17157
|
+
"adequate": false,
|
|
17158
|
+
"gap": "The read is not confined to the document store - an authenticated user reads arbitrary host files."
|
|
17159
|
+
},
|
|
17160
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
17161
|
+
"covered": false,
|
|
17162
|
+
"adequate": false,
|
|
17163
|
+
"gap": "No framework treats an LLM app framework's path-bearing input as an integrity boundary requiring canonicalization."
|
|
17164
|
+
}
|
|
17165
|
+
},
|
|
17166
|
+
"compliance_exposure_score": {
|
|
17167
|
+
"percent_audit_passing_orgs_still_exposed": 77,
|
|
17168
|
+
"basis": "LLM app frameworks accept file/element references from clients and read them on trusted-network assumptions; path canonicalization is rarely audited.",
|
|
17169
|
+
"theater_pattern": "ai_app_path_traversal_file_read"
|
|
17170
|
+
},
|
|
17171
|
+
"ai_discovered_zeroday": false,
|
|
17172
|
+
"ai_discovery_source": "human_researcher",
|
|
17173
|
+
"ai_assist_factor": "none",
|
|
17174
|
+
"new_control_requirements": [
|
|
17175
|
+
{
|
|
17176
|
+
"id": "NEW-CTRL-094",
|
|
17177
|
+
"name": "AI-RUNTIME-API-PATH-TRAVERSAL-VALIDATION",
|
|
17178
|
+
"description": "An AI application's file/path-bearing inputs (upload filenames, model digests, element/document paths, API route parameters) must be canonicalized and validated - including non-ASCII / encoding transforms - against an allowlisted base directory before touching the filesystem, and the app must not be network-exposed to untrusted users. The distinguishing test: submit an element/file reference whose path decodes to ../ traversal or an absolute host path on a staging instance and confirm it is rejected, not read and returned.",
|
|
17179
|
+
"evidence": "https://github.com/advisories/GHSA-r399-636x-v7f6",
|
|
17180
|
+
"gap_closes": [
|
|
17181
|
+
"NIST-800-53-SI-2",
|
|
17182
|
+
"NIST-800-53-SI-10",
|
|
17183
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
17184
|
+
]
|
|
17185
|
+
}
|
|
17186
|
+
],
|
|
17187
|
+
"_auto_imported": false,
|
|
17188
|
+
"_intake_method": "manual-verified-curation"
|
|
17189
|
+
},
|
|
17190
|
+
"CVE-2026-22219": {
|
|
17191
|
+
"name": "Chainlit /project/element SQLAlchemy-Backend Server-Side Request Forgery",
|
|
17192
|
+
"lesson_date": "2026-05-26",
|
|
17193
|
+
"attack_vector": {
|
|
17194
|
+
"description": "When Chainlit uses the SQLAlchemy data-layer backend, its /project/element flow fetches a caller-supplied url server-side and stores the response without validating the destination, so an authenticated client reaches internal services or cloud metadata.",
|
|
17195
|
+
"privileges_required": "low (an authenticated client)",
|
|
17196
|
+
"complexity": "low",
|
|
17197
|
+
"ai_factor": "The abused surface is Chainlit, an open-source LLM-app framework. The lesson: an LLM app framework's server-side fetches must validate and allowlist destinations or become an SSRF pivot - the same control that closes the Dify and RAGFlow ingestion SSRFs."
|
|
17198
|
+
},
|
|
17199
|
+
"framework_coverage": {
|
|
17200
|
+
"NIST-800-53-SC-7": {
|
|
17201
|
+
"covered": true,
|
|
17202
|
+
"adequate": false,
|
|
17203
|
+
"gap": "Boundary protection does not treat the framework's element-url fetch as an egress that can reach internal services."
|
|
17204
|
+
},
|
|
17205
|
+
"NIST-800-53-SI-10": {
|
|
17206
|
+
"covered": true,
|
|
17207
|
+
"adequate": false,
|
|
17208
|
+
"gap": "No input validation is applied to the user-supplied element url before the server fetches it."
|
|
17209
|
+
},
|
|
17210
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
17211
|
+
"covered": false,
|
|
17212
|
+
"adequate": false,
|
|
17213
|
+
"gap": "No framework treats an LLM app framework's server-side fetch as an egress that must validate and allowlist destinations."
|
|
17214
|
+
}
|
|
17215
|
+
},
|
|
17216
|
+
"compliance_exposure_score": {
|
|
17217
|
+
"percent_audit_passing_orgs_still_exposed": 78,
|
|
17218
|
+
"basis": "LLM app frameworks fetch caller-supplied URLs from element/data-layer flows on trusted-network assumptions; the fetch destination is not validated.",
|
|
17219
|
+
"theater_pattern": "ai_data_pipeline_ssrf_trust"
|
|
17220
|
+
},
|
|
17221
|
+
"ai_discovered_zeroday": false,
|
|
17222
|
+
"ai_discovery_source": "human_researcher",
|
|
17223
|
+
"ai_assist_factor": "none",
|
|
17224
|
+
"new_control_requirements": [
|
|
17225
|
+
{
|
|
17226
|
+
"id": "NEW-CTRL-105",
|
|
17227
|
+
"name": "AI-DATA-PIPELINE-IMPORT-SSRF-PROTECTION",
|
|
17228
|
+
"description": "An AI data-pipeline / app platform that fetches from caller-supplied URLs or endpoints (data import, element urls, cloud-storage endpoint configuration, webhook/annotation sources, ingestion crawlers) must validate and allowlist the destination before issuing the request: reject private, link-local, and cloud-metadata addresses (169.254.169.254), reject file:// and non-HTTP schemes, and resolve+pin the host to prevent DNS-rebinding. Restrict who can configure server-side fetches. The distinguishing test: configure the fetched URL to an internal or cloud-metadata address on a staging instance and confirm the server refuses the fetch - a platform that issues the request and returns/stores the response is exploitable for SSRF / internal pivot, regardless of authentication posture.",
|
|
17229
|
+
"evidence": "https://github.com/advisories/GHSA-r399-636x-v7f6",
|
|
17230
|
+
"gap_closes": [
|
|
17231
|
+
"NIST-800-53-SC-7",
|
|
17232
|
+
"NIST-800-53-SI-10",
|
|
17233
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
17234
|
+
]
|
|
17235
|
+
}
|
|
17236
|
+
],
|
|
17237
|
+
"_auto_imported": false,
|
|
17238
|
+
"_intake_method": "manual-verified-curation"
|
|
17139
17239
|
}
|
|
17140
17240
|
}
|