@blamejs/exceptd-skills 0.13.110 → 0.13.113
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 +8 -0
- package/data/_indexes/_meta.json +9 -9
- package/data/_indexes/activity-feed.json +2 -2
- package/data/_indexes/catalog-summaries.json +2 -2
- package/data/_indexes/chains.json +1430 -0
- package/data/atlas-ttps.json +4 -0
- package/data/attack-techniques.json +15 -2
- package/data/cve-catalog.json +419 -3
- package/data/cwe-catalog.json +5 -0
- package/data/framework-control-gaps.json +36 -1
- package/data/zeroday-lessons.json +200 -0
- package/manifest.json +44 -44
- package/package.json +2 -2
- package/sbom.cdx.json +25 -25
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"CVE-2023-6019",
|
|
46
46
|
"CVE-2023-6021",
|
|
47
47
|
"CVE-2023-6038",
|
|
48
|
+
"CVE-2023-6571",
|
|
48
49
|
"CVE-2024-0129",
|
|
49
50
|
"CVE-2024-0132",
|
|
50
51
|
"CVE-2024-11392",
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
"CVE-2024-50050",
|
|
70
71
|
"CVE-2024-5565",
|
|
71
72
|
"CVE-2024-6587",
|
|
73
|
+
"CVE-2024-9526",
|
|
72
74
|
"CVE-2025-1550",
|
|
73
75
|
"CVE-2025-1753",
|
|
74
76
|
"CVE-2025-23254",
|
|
@@ -82,8 +84,10 @@
|
|
|
82
84
|
"CVE-2025-3248",
|
|
83
85
|
"CVE-2025-33236",
|
|
84
86
|
"CVE-2025-34291",
|
|
87
|
+
"CVE-2025-3466",
|
|
85
88
|
"CVE-2025-49596",
|
|
86
89
|
"CVE-2025-54136",
|
|
90
|
+
"CVE-2025-56520",
|
|
87
91
|
"CVE-2025-60455",
|
|
88
92
|
"CVE-2025-64496",
|
|
89
93
|
"CVE-2025-64513",
|
|
@@ -1248,7 +1252,8 @@
|
|
|
1248
1252
|
"CVE-2024-0132",
|
|
1249
1253
|
"CVE-2024-21626",
|
|
1250
1254
|
"CVE-2025-23266",
|
|
1251
|
-
"CVE-2025-25297"
|
|
1255
|
+
"CVE-2025-25297",
|
|
1256
|
+
"CVE-2025-56520"
|
|
1252
1257
|
],
|
|
1253
1258
|
"atlas_refs": [],
|
|
1254
1259
|
"attack_refs": [
|
|
@@ -1282,6 +1287,7 @@
|
|
|
1282
1287
|
"evidence_cves": [
|
|
1283
1288
|
"CVE-2023-43472",
|
|
1284
1289
|
"CVE-2023-6016",
|
|
1290
|
+
"CVE-2023-6571",
|
|
1285
1291
|
"CVE-2024-12366",
|
|
1286
1292
|
"CVE-2024-24590",
|
|
1287
1293
|
"CVE-2024-24591",
|
|
@@ -1289,10 +1295,12 @@
|
|
|
1289
1295
|
"CVE-2024-37052",
|
|
1290
1296
|
"CVE-2024-37060",
|
|
1291
1297
|
"CVE-2024-5565",
|
|
1298
|
+
"CVE-2024-9526",
|
|
1292
1299
|
"CVE-2025-0133",
|
|
1293
1300
|
"CVE-2025-1094",
|
|
1294
1301
|
"CVE-2025-27520",
|
|
1295
1302
|
"CVE-2025-3248",
|
|
1303
|
+
"CVE-2025-3466",
|
|
1296
1304
|
"CVE-2025-6965",
|
|
1297
1305
|
"CVE-2026-30623",
|
|
1298
1306
|
"CVE-2026-31229",
|
|
@@ -2131,6 +2139,7 @@
|
|
|
2131
2139
|
"CVE-2024-5565",
|
|
2132
2140
|
"CVE-2025-27520",
|
|
2133
2141
|
"CVE-2025-3248",
|
|
2142
|
+
"CVE-2025-3466",
|
|
2134
2143
|
"CVE-2025-49844",
|
|
2135
2144
|
"CVE-2025-53773",
|
|
2136
2145
|
"CVE-2026-30615",
|
|
@@ -2291,6 +2300,7 @@
|
|
|
2291
2300
|
"CVE-2025-30202",
|
|
2292
2301
|
"CVE-2025-32444",
|
|
2293
2302
|
"CVE-2025-53767",
|
|
2303
|
+
"CVE-2025-56520",
|
|
2294
2304
|
"CVE-2026-34159",
|
|
2295
2305
|
"CVE-2026-42897"
|
|
2296
2306
|
],
|
|
@@ -2361,6 +2371,7 @@
|
|
|
2361
2371
|
"evidence_cves": [
|
|
2362
2372
|
"CVE-2022-36551",
|
|
2363
2373
|
"CVE-2023-44467",
|
|
2374
|
+
"CVE-2023-6571",
|
|
2364
2375
|
"CVE-2024-0129",
|
|
2365
2376
|
"CVE-2024-11392",
|
|
2366
2377
|
"CVE-2024-11393",
|
|
@@ -2378,6 +2389,7 @@
|
|
|
2378
2389
|
"CVE-2024-39722",
|
|
2379
2390
|
"CVE-2024-50050",
|
|
2380
2391
|
"CVE-2024-5565",
|
|
2392
|
+
"CVE-2024-9526",
|
|
2381
2393
|
"CVE-2025-0133",
|
|
2382
2394
|
"CVE-2025-1094",
|
|
2383
2395
|
"CVE-2025-1550",
|
|
@@ -2388,6 +2400,8 @@
|
|
|
2388
2400
|
"CVE-2025-30165",
|
|
2389
2401
|
"CVE-2025-32434",
|
|
2390
2402
|
"CVE-2025-33236",
|
|
2403
|
+
"CVE-2025-3466",
|
|
2404
|
+
"CVE-2025-56520",
|
|
2391
2405
|
"CVE-2025-60455",
|
|
2392
2406
|
"CVE-2025-64496",
|
|
2393
2407
|
"CVE-2025-67818",
|
|
@@ -2842,12 +2856,15 @@
|
|
|
2842
2856
|
"evidence_cves": [
|
|
2843
2857
|
"BUG-2026-NIGHTMARE-ECLIPSE-UNDEFEND",
|
|
2844
2858
|
"CVE-2023-6016",
|
|
2859
|
+
"CVE-2023-6571",
|
|
2845
2860
|
"CVE-2024-12366",
|
|
2846
2861
|
"CVE-2024-2912",
|
|
2847
2862
|
"CVE-2024-5565",
|
|
2863
|
+
"CVE-2024-9526",
|
|
2848
2864
|
"CVE-2025-11837",
|
|
2849
2865
|
"CVE-2025-27520",
|
|
2850
2866
|
"CVE-2025-3248",
|
|
2867
|
+
"CVE-2025-3466",
|
|
2851
2868
|
"CVE-2026-22778",
|
|
2852
2869
|
"CVE-2026-32202",
|
|
2853
2870
|
"CVE-2026-33017",
|
|
@@ -5036,10 +5053,13 @@
|
|
|
5036
5053
|
"opened_date": "2026-05-15",
|
|
5037
5054
|
"evidence_cves": [
|
|
5038
5055
|
"CVE-2023-3519",
|
|
5056
|
+
"CVE-2023-6571",
|
|
5039
5057
|
"CVE-2024-12366",
|
|
5040
5058
|
"CVE-2024-2912",
|
|
5041
5059
|
"CVE-2024-5565",
|
|
5060
|
+
"CVE-2024-9526",
|
|
5042
5061
|
"CVE-2025-27520",
|
|
5062
|
+
"CVE-2025-3466",
|
|
5043
5063
|
"CVE-2026-0300",
|
|
5044
5064
|
"CVE-2026-42945"
|
|
5045
5065
|
],
|
|
@@ -5087,6 +5107,7 @@
|
|
|
5087
5107
|
"CVE-2023-6019",
|
|
5088
5108
|
"CVE-2023-6021",
|
|
5089
5109
|
"CVE-2023-6038",
|
|
5110
|
+
"CVE-2023-6571",
|
|
5090
5111
|
"CVE-2024-0129",
|
|
5091
5112
|
"CVE-2024-0132",
|
|
5092
5113
|
"CVE-2024-11392",
|
|
@@ -5113,6 +5134,7 @@
|
|
|
5113
5134
|
"CVE-2024-50050",
|
|
5114
5135
|
"CVE-2024-5565",
|
|
5115
5136
|
"CVE-2024-6587",
|
|
5137
|
+
"CVE-2024-9526",
|
|
5116
5138
|
"CVE-2025-1550",
|
|
5117
5139
|
"CVE-2025-1753",
|
|
5118
5140
|
"CVE-2025-23254",
|
|
@@ -5126,8 +5148,10 @@
|
|
|
5126
5148
|
"CVE-2025-3248",
|
|
5127
5149
|
"CVE-2025-33236",
|
|
5128
5150
|
"CVE-2025-34291",
|
|
5151
|
+
"CVE-2025-3466",
|
|
5129
5152
|
"CVE-2025-49596",
|
|
5130
5153
|
"CVE-2025-54136",
|
|
5154
|
+
"CVE-2025-56520",
|
|
5131
5155
|
"CVE-2025-60455",
|
|
5132
5156
|
"CVE-2025-64496",
|
|
5133
5157
|
"CVE-2025-64513",
|
|
@@ -5204,6 +5228,8 @@
|
|
|
5204
5228
|
"CVE-2024-1709",
|
|
5205
5229
|
"CVE-2025-25297",
|
|
5206
5230
|
"CVE-2025-3248",
|
|
5231
|
+
"CVE-2025-3466",
|
|
5232
|
+
"CVE-2025-56520",
|
|
5207
5233
|
"CVE-2026-33017",
|
|
5208
5234
|
"CVE-2026-39987",
|
|
5209
5235
|
"CVE-2026-7482"
|
|
@@ -5668,6 +5694,7 @@
|
|
|
5668
5694
|
"CVE-2023-51449",
|
|
5669
5695
|
"CVE-2023-6016",
|
|
5670
5696
|
"CVE-2023-6038",
|
|
5697
|
+
"CVE-2023-6571",
|
|
5671
5698
|
"CVE-2024-0129",
|
|
5672
5699
|
"CVE-2024-0132",
|
|
5673
5700
|
"CVE-2024-11392",
|
|
@@ -5692,6 +5719,7 @@
|
|
|
5692
5719
|
"CVE-2024-42479",
|
|
5693
5720
|
"CVE-2024-50050",
|
|
5694
5721
|
"CVE-2024-5565",
|
|
5722
|
+
"CVE-2024-9526",
|
|
5695
5723
|
"CVE-2025-1550",
|
|
5696
5724
|
"CVE-2025-1753",
|
|
5697
5725
|
"CVE-2025-23254",
|
|
@@ -5705,8 +5733,10 @@
|
|
|
5705
5733
|
"CVE-2025-3248",
|
|
5706
5734
|
"CVE-2025-33236",
|
|
5707
5735
|
"CVE-2025-34291",
|
|
5736
|
+
"CVE-2025-3466",
|
|
5708
5737
|
"CVE-2025-49596",
|
|
5709
5738
|
"CVE-2025-54136",
|
|
5739
|
+
"CVE-2025-56520",
|
|
5710
5740
|
"CVE-2025-60455",
|
|
5711
5741
|
"CVE-2025-64496",
|
|
5712
5742
|
"CVE-2025-67818",
|
|
@@ -5778,6 +5808,7 @@
|
|
|
5778
5808
|
"CVE-2023-6019",
|
|
5779
5809
|
"CVE-2023-6021",
|
|
5780
5810
|
"CVE-2023-6038",
|
|
5811
|
+
"CVE-2023-6571",
|
|
5781
5812
|
"CVE-2024-0129",
|
|
5782
5813
|
"CVE-2024-0132",
|
|
5783
5814
|
"CVE-2024-11392",
|
|
@@ -5804,6 +5835,7 @@
|
|
|
5804
5835
|
"CVE-2024-50050",
|
|
5805
5836
|
"CVE-2024-5565",
|
|
5806
5837
|
"CVE-2024-6587",
|
|
5838
|
+
"CVE-2024-9526",
|
|
5807
5839
|
"CVE-2025-1550",
|
|
5808
5840
|
"CVE-2025-1753",
|
|
5809
5841
|
"CVE-2025-23254",
|
|
@@ -5817,8 +5849,10 @@
|
|
|
5817
5849
|
"CVE-2025-3248",
|
|
5818
5850
|
"CVE-2025-33236",
|
|
5819
5851
|
"CVE-2025-34291",
|
|
5852
|
+
"CVE-2025-3466",
|
|
5820
5853
|
"CVE-2025-49596",
|
|
5821
5854
|
"CVE-2025-54136",
|
|
5855
|
+
"CVE-2025-56520",
|
|
5822
5856
|
"CVE-2025-60455",
|
|
5823
5857
|
"CVE-2025-64496",
|
|
5824
5858
|
"CVE-2025-64513",
|
|
@@ -6263,6 +6297,7 @@
|
|
|
6263
6297
|
"CVE-2022-36551",
|
|
6264
6298
|
"CVE-2024-21762",
|
|
6265
6299
|
"CVE-2025-25297",
|
|
6300
|
+
"CVE-2025-56520",
|
|
6266
6301
|
"CVE-2026-20182"
|
|
6267
6302
|
],
|
|
6268
6303
|
"atlas_refs": [],
|
|
@@ -4711,6 +4711,206 @@
|
|
|
4711
4711
|
"_auto_imported": false,
|
|
4712
4712
|
"_intake_method": "manual-verified-curation"
|
|
4713
4713
|
},
|
|
4714
|
+
"CVE-2024-9526": {
|
|
4715
|
+
"name": "Kubeflow Pipelines Stored XSS in Pipeline View",
|
|
4716
|
+
"lesson_date": "2026-05-25",
|
|
4717
|
+
"attack_vector": {
|
|
4718
|
+
"description": "Kubeflow Pipelines renders the pipeline description field without neutralizing HTML, so attacker-stored markup executes in the browser of every user who views the pipeline.",
|
|
4719
|
+
"privileges_required": "low (a user who can create/edit a pipeline; payload then fires for all viewers)",
|
|
4720
|
+
"complexity": "low",
|
|
4721
|
+
"ai_factor": "The abused surface is the Kubeflow MLOps console - the control plane operators use to run ML pipelines. The lesson: an MLOps console is a multi-user trust boundary; unencoded user fields let one user's stored markup hijack every operator's authenticated session and act in the ML control plane as them."
|
|
4722
|
+
},
|
|
4723
|
+
"framework_coverage": {
|
|
4724
|
+
"NIST-800-53-SI-10": {
|
|
4725
|
+
"covered": true,
|
|
4726
|
+
"adequate": false,
|
|
4727
|
+
"gap": "User-controlled fields are not neutralized/encoded before the MLOps console renders them."
|
|
4728
|
+
},
|
|
4729
|
+
"NIST-800-53-SI-3": {
|
|
4730
|
+
"covered": true,
|
|
4731
|
+
"adequate": false,
|
|
4732
|
+
"gap": "Script injected into the console UI is not treated as an execution channel against other operators."
|
|
4733
|
+
},
|
|
4734
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4735
|
+
"covered": false,
|
|
4736
|
+
"adequate": false,
|
|
4737
|
+
"gap": "No framework treats an MLOps console's rendering of user-controlled fields as an integrity control whose failure hijacks operators' sessions."
|
|
4738
|
+
}
|
|
4739
|
+
},
|
|
4740
|
+
"compliance_exposure_score": {
|
|
4741
|
+
"percent_audit_passing_orgs_still_exposed": 76,
|
|
4742
|
+
"basis": "MLOps consoles are deployed on trusted-team assumptions and render user-supplied pipeline metadata; output encoding and CSP are frequently missing, and audits rarely test console XSS.",
|
|
4743
|
+
"theater_pattern": "mlops_console_xss"
|
|
4744
|
+
},
|
|
4745
|
+
"ai_discovered_zeroday": false,
|
|
4746
|
+
"ai_discovery_source": "human_researcher",
|
|
4747
|
+
"ai_assist_factor": "none",
|
|
4748
|
+
"new_control_requirements": [
|
|
4749
|
+
{
|
|
4750
|
+
"id": "NEW-CTRL-107",
|
|
4751
|
+
"name": "AI-PLATFORM-WEB-UI-OUTPUT-ENCODING-XSS",
|
|
4752
|
+
"description": "An AI/MLOps platform console (Kubeflow, pipeline dashboards, experiment UIs) must neutralize every user-controlled field it renders: HTML-encode output, never render stored description/metadata fields as raw HTML, set a strict Content-Security-Policy, and mark session cookies HttpOnly so injected script cannot read them. Treat the console as a multi-user trust boundary - one user's stored input is rendered in every other operator's authenticated session. The distinguishing test: store an HTML/script payload in a pipeline description (or craft a reflecting link) on a staging console and confirm it renders inert text, not executing script - a console that executes stored or reflected markup lets an attacker hijack operators' sessions and act in the MLOps control plane as them.",
|
|
4753
|
+
"evidence": "https://github.com/advisories/GHSA-rm25-8wjq-c6qm",
|
|
4754
|
+
"gap_closes": [
|
|
4755
|
+
"NIST-800-53-SI-10",
|
|
4756
|
+
"NIST-800-53-SI-3",
|
|
4757
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4758
|
+
]
|
|
4759
|
+
}
|
|
4760
|
+
],
|
|
4761
|
+
"_auto_imported": false,
|
|
4762
|
+
"_intake_method": "manual-verified-curation"
|
|
4763
|
+
},
|
|
4764
|
+
"CVE-2025-3466": {
|
|
4765
|
+
"name": "Dify Code Node Sandbox Escape to Remote Code Execution",
|
|
4766
|
+
"lesson_date": "2026-05-26",
|
|
4767
|
+
"attack_vector": {
|
|
4768
|
+
"description": "Dify's code node runs user-supplied code in a sandbox, but unsanitized input lets an attacker override global functions (e.g. parseInt) before the sandbox restrictions are imposed, escaping the sandbox and executing arbitrary code with root-level access.",
|
|
4769
|
+
"privileges_required": "low (author a workflow code node; the chain reaches root)",
|
|
4770
|
+
"complexity": "low",
|
|
4771
|
+
"ai_factor": "The abused surface is Dify, a low-code LLM application-development platform. The lesson: an app builder's code node is a code-execution surface whose sandbox must be initialized before any user input is evaluated and must resist escape."
|
|
4772
|
+
},
|
|
4773
|
+
"framework_coverage": {
|
|
4774
|
+
"NIST-800-53-AC-3": {
|
|
4775
|
+
"covered": true,
|
|
4776
|
+
"adequate": false,
|
|
4777
|
+
"gap": "Access enforcement does not constrain who can author a code node reaching a code-execution sandbox."
|
|
4778
|
+
},
|
|
4779
|
+
"NIST-800-53-SI-3": {
|
|
4780
|
+
"covered": true,
|
|
4781
|
+
"adequate": false,
|
|
4782
|
+
"gap": "Malicious-code protection does not treat the LLM app builder's code node as an escapable execution sandbox."
|
|
4783
|
+
},
|
|
4784
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4785
|
+
"covered": false,
|
|
4786
|
+
"adequate": false,
|
|
4787
|
+
"gap": "No framework treats an LLM app builder's code node as a privileged execution surface whose sandbox must be escape-resistant."
|
|
4788
|
+
}
|
|
4789
|
+
},
|
|
4790
|
+
"compliance_exposure_score": {
|
|
4791
|
+
"percent_audit_passing_orgs_still_exposed": 80,
|
|
4792
|
+
"basis": "Low-code LLM platforms expose code nodes for flexibility; sandbox-initialization ordering and authorship restrictions are rarely audited.",
|
|
4793
|
+
"theater_pattern": "ai_app_builder_unauth_exec"
|
|
4794
|
+
},
|
|
4795
|
+
"ai_discovered_zeroday": false,
|
|
4796
|
+
"ai_discovery_source": "human_researcher",
|
|
4797
|
+
"ai_assist_factor": "none",
|
|
4798
|
+
"new_control_requirements": [
|
|
4799
|
+
{
|
|
4800
|
+
"id": "NEW-CTRL-103",
|
|
4801
|
+
"name": "AI-APP-BUILDER-EXECUTION-ENDPOINT-AUTH-AND-SANDBOX",
|
|
4802
|
+
"description": "A visual LLM app/agent builder (Langflow, Flowise, and similar) must authenticate every endpoint that can reach a code-execution path - validate-code, flow-build, flow-run, public-flow endpoints - and must never run flow-supplied or request-supplied code through a compile-and-run / dynamic-evaluation path with host privileges. Place the builder behind authenticated access control, never expose it to untrusted networks, and sandbox any code the platform executes on a user's behalf (no filesystem/network/process access beyond the flow's intent). The distinguishing test: send an unauthenticated request to each flow validate/build/run endpoint on a staging instance with a payload that attempts a non-flow action (a shell or network call) and confirm it is refused before any code runs - paper 'AI platform' policies that leave a public endpoint wired to a code-execution sink still permit unauthenticated RCE.",
|
|
4803
|
+
"evidence": "https://www.vulncheck.com/blog/langflow-rce",
|
|
4804
|
+
"gap_closes": [
|
|
4805
|
+
"NIST-800-53-AC-3",
|
|
4806
|
+
"NIST-800-53-SI-3",
|
|
4807
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4808
|
+
]
|
|
4809
|
+
}
|
|
4810
|
+
],
|
|
4811
|
+
"_auto_imported": false,
|
|
4812
|
+
"_intake_method": "manual-verified-curation"
|
|
4813
|
+
},
|
|
4814
|
+
"CVE-2025-56520": {
|
|
4815
|
+
"name": "Dify Remote File Upload Server-Side Request Forgery",
|
|
4816
|
+
"lesson_date": "2026-05-26",
|
|
4817
|
+
"attack_vector": {
|
|
4818
|
+
"description": "Dify's RemoteFileUploadApi fetches a user-supplied URL server-side without validating the destination, so an unauthenticated attacker reaches internal services or cloud metadata via the Dify server.",
|
|
4819
|
+
"privileges_required": "none (unauthenticated)",
|
|
4820
|
+
"complexity": "low",
|
|
4821
|
+
"ai_factor": "The abused surface is Dify, a low-code LLM application-development platform. The lesson: an LLM platform's server-side fetches must validate and allowlist destinations or become an SSRF pivot."
|
|
4822
|
+
},
|
|
4823
|
+
"framework_coverage": {
|
|
4824
|
+
"NIST-800-53-SC-7": {
|
|
4825
|
+
"covered": true,
|
|
4826
|
+
"adequate": false,
|
|
4827
|
+
"gap": "Boundary protection does not treat the LLM platform's server-side remote-file fetch as an egress that can reach internal services."
|
|
4828
|
+
},
|
|
4829
|
+
"NIST-800-53-SI-10": {
|
|
4830
|
+
"covered": true,
|
|
4831
|
+
"adequate": false,
|
|
4832
|
+
"gap": "No input validation is applied to the user-supplied URL before the server fetches it."
|
|
4833
|
+
},
|
|
4834
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4835
|
+
"covered": false,
|
|
4836
|
+
"adequate": false,
|
|
4837
|
+
"gap": "No framework treats an LLM platform's remote-file fetch as an egress that must validate and allowlist destinations."
|
|
4838
|
+
}
|
|
4839
|
+
},
|
|
4840
|
+
"compliance_exposure_score": {
|
|
4841
|
+
"percent_audit_passing_orgs_still_exposed": 78,
|
|
4842
|
+
"basis": "LLM platforms fetch from user-supplied URLs (remote file upload) on trusted-network assumptions; the fetch destination is not validated.",
|
|
4843
|
+
"theater_pattern": "ai_data_pipeline_ssrf_trust"
|
|
4844
|
+
},
|
|
4845
|
+
"ai_discovered_zeroday": false,
|
|
4846
|
+
"ai_discovery_source": "human_researcher",
|
|
4847
|
+
"ai_assist_factor": "none",
|
|
4848
|
+
"new_control_requirements": [
|
|
4849
|
+
{
|
|
4850
|
+
"id": "NEW-CTRL-105",
|
|
4851
|
+
"name": "AI-DATA-PIPELINE-IMPORT-SSRF-PROTECTION",
|
|
4852
|
+
"description": "An AI data-pipeline platform that fetches from caller-supplied URLs or endpoints (data import, cloud-storage endpoint configuration, webhook/annotation sources) 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 and disable self-registration if not required. The distinguishing test: configure the import/storage 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 the response is exploitable for SSRF / internal pivot, regardless of authentication posture.",
|
|
4853
|
+
"evidence": "https://github.com/advisories/GHSA-m238-fmcw-wh58",
|
|
4854
|
+
"gap_closes": [
|
|
4855
|
+
"NIST-800-53-SC-7",
|
|
4856
|
+
"NIST-800-53-SI-10",
|
|
4857
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4858
|
+
]
|
|
4859
|
+
}
|
|
4860
|
+
],
|
|
4861
|
+
"_auto_imported": false,
|
|
4862
|
+
"_intake_method": "manual-verified-curation"
|
|
4863
|
+
},
|
|
4864
|
+
"CVE-2023-6571": {
|
|
4865
|
+
"name": "Kubeflow Reflected XSS",
|
|
4866
|
+
"lesson_date": "2026-05-25",
|
|
4867
|
+
"attack_vector": {
|
|
4868
|
+
"description": "Kubeflow reflects attacker-controlled request input into a web page without neutralization, so a victim who follows a crafted link executes attacker script in their authenticated Kubeflow session.",
|
|
4869
|
+
"privileges_required": "none (the victim follows a crafted link)",
|
|
4870
|
+
"complexity": "low",
|
|
4871
|
+
"ai_factor": "The abused surface is the Kubeflow MLOps console - the control plane operators use to run ML pipelines. The lesson: an MLOps console is a multi-user trust boundary; unencoded user fields let one user's reflected markup hijack every operator's authenticated session and act in the ML control plane as them."
|
|
4872
|
+
},
|
|
4873
|
+
"framework_coverage": {
|
|
4874
|
+
"NIST-800-53-SI-10": {
|
|
4875
|
+
"covered": true,
|
|
4876
|
+
"adequate": false,
|
|
4877
|
+
"gap": "User-controlled fields are not neutralized/encoded before the MLOps console renders them."
|
|
4878
|
+
},
|
|
4879
|
+
"NIST-800-53-SI-3": {
|
|
4880
|
+
"covered": true,
|
|
4881
|
+
"adequate": false,
|
|
4882
|
+
"gap": "Script injected into the console UI is not treated as an execution channel against other operators."
|
|
4883
|
+
},
|
|
4884
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4885
|
+
"covered": false,
|
|
4886
|
+
"adequate": false,
|
|
4887
|
+
"gap": "No framework treats an MLOps console's rendering of user-controlled fields as an integrity control whose failure hijacks operators' sessions."
|
|
4888
|
+
}
|
|
4889
|
+
},
|
|
4890
|
+
"compliance_exposure_score": {
|
|
4891
|
+
"percent_audit_passing_orgs_still_exposed": 74,
|
|
4892
|
+
"basis": "MLOps consoles are deployed on trusted-team assumptions and render user-supplied pipeline metadata; output encoding and CSP are frequently missing, and audits rarely test console XSS.",
|
|
4893
|
+
"theater_pattern": "mlops_console_xss"
|
|
4894
|
+
},
|
|
4895
|
+
"ai_discovered_zeroday": false,
|
|
4896
|
+
"ai_discovery_source": "human_researcher",
|
|
4897
|
+
"ai_assist_factor": "none",
|
|
4898
|
+
"new_control_requirements": [
|
|
4899
|
+
{
|
|
4900
|
+
"id": "NEW-CTRL-107",
|
|
4901
|
+
"name": "AI-PLATFORM-WEB-UI-OUTPUT-ENCODING-XSS",
|
|
4902
|
+
"description": "An AI/MLOps platform console (Kubeflow, pipeline dashboards, experiment UIs) must neutralize every user-controlled field it renders: HTML-encode output, never render stored description/metadata fields as raw HTML, set a strict Content-Security-Policy, and mark session cookies HttpOnly so injected script cannot read them. Treat the console as a multi-user trust boundary - one user's stored input is rendered in every other operator's authenticated session. The distinguishing test: store an HTML/script payload in a pipeline description (or craft a reflecting link) on a staging console and confirm it renders inert text, not executing script - a console that executes stored or reflected markup lets an attacker hijack operators' sessions and act in the MLOps control plane as them.",
|
|
4903
|
+
"evidence": "https://github.com/advisories/GHSA-7rvc-xw75-43jf",
|
|
4904
|
+
"gap_closes": [
|
|
4905
|
+
"NIST-800-53-SI-10",
|
|
4906
|
+
"NIST-800-53-SI-3",
|
|
4907
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4908
|
+
]
|
|
4909
|
+
}
|
|
4910
|
+
],
|
|
4911
|
+
"_auto_imported": false,
|
|
4912
|
+
"_intake_method": "manual-verified-curation"
|
|
4913
|
+
},
|
|
4714
4914
|
"CVE-2026-31230": {
|
|
4715
4915
|
"name": "Adversarial Robustness Toolbox CLI Argument Dynamic-Evaluation Code Execution",
|
|
4716
4916
|
"lesson_date": "2026-05-25",
|