@blamejs/exceptd-skills 0.13.104 → 0.13.106
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 +1576 -0
- package/data/atlas-ttps.json +6 -0
- package/data/attack-techniques.json +9 -0
- package/data/cve-catalog.json +419 -0
- package/data/cwe-catalog.json +4 -0
- package/data/framework-control-gaps.json +38 -0
- package/data/zeroday-lessons.json +200 -0
- package/manifest.json +44 -44
- package/package.json +2 -2
- package/sbom.cdx.json +25 -25
|
@@ -38,8 +38,10 @@
|
|
|
38
38
|
"CVE-2023-43654",
|
|
39
39
|
"CVE-2023-48022",
|
|
40
40
|
"CVE-2023-51449",
|
|
41
|
+
"CVE-2023-6016",
|
|
41
42
|
"CVE-2023-6019",
|
|
42
43
|
"CVE-2023-6021",
|
|
44
|
+
"CVE-2023-6038",
|
|
43
45
|
"CVE-2024-0129",
|
|
44
46
|
"CVE-2024-0132",
|
|
45
47
|
"CVE-2024-11392",
|
|
@@ -53,6 +55,7 @@
|
|
|
53
55
|
"CVE-2024-24590",
|
|
54
56
|
"CVE-2024-24591",
|
|
55
57
|
"CVE-2024-27132",
|
|
58
|
+
"CVE-2024-2912",
|
|
56
59
|
"CVE-2024-37032",
|
|
57
60
|
"CVE-2024-39722",
|
|
58
61
|
"CVE-2024-42478",
|
|
@@ -65,6 +68,7 @@
|
|
|
65
68
|
"CVE-2025-1753",
|
|
66
69
|
"CVE-2025-23254",
|
|
67
70
|
"CVE-2025-23266",
|
|
71
|
+
"CVE-2025-27520",
|
|
68
72
|
"CVE-2025-30165",
|
|
69
73
|
"CVE-2025-30202",
|
|
70
74
|
"CVE-2025-32434",
|
|
@@ -1267,12 +1271,15 @@
|
|
|
1267
1271
|
"opened_date": "2026-01-01",
|
|
1268
1272
|
"evidence_cves": [
|
|
1269
1273
|
"CVE-2023-43472",
|
|
1274
|
+
"CVE-2023-6016",
|
|
1270
1275
|
"CVE-2024-12366",
|
|
1271
1276
|
"CVE-2024-24590",
|
|
1272
1277
|
"CVE-2024-24591",
|
|
1278
|
+
"CVE-2024-2912",
|
|
1273
1279
|
"CVE-2024-5565",
|
|
1274
1280
|
"CVE-2025-0133",
|
|
1275
1281
|
"CVE-2025-1094",
|
|
1282
|
+
"CVE-2025-27520",
|
|
1276
1283
|
"CVE-2025-3248",
|
|
1277
1284
|
"CVE-2025-6965",
|
|
1278
1285
|
"CVE-2026-30623",
|
|
@@ -2101,11 +2108,14 @@
|
|
|
2101
2108
|
"opened_date": "2026-04-01",
|
|
2102
2109
|
"evidence_cves": [
|
|
2103
2110
|
"BUG-2026-NIGHTMARE-ECLIPSE-GREENPLASMA",
|
|
2111
|
+
"CVE-2023-6016",
|
|
2104
2112
|
"CVE-2024-12366",
|
|
2105
2113
|
"CVE-2024-24590",
|
|
2106
2114
|
"CVE-2024-24591",
|
|
2115
|
+
"CVE-2024-2912",
|
|
2107
2116
|
"CVE-2024-3154",
|
|
2108
2117
|
"CVE-2024-5565",
|
|
2118
|
+
"CVE-2025-27520",
|
|
2109
2119
|
"CVE-2025-3248",
|
|
2110
2120
|
"CVE-2025-49844",
|
|
2111
2121
|
"CVE-2025-53773",
|
|
@@ -2249,6 +2259,7 @@
|
|
|
2249
2259
|
"evidence_cves": [
|
|
2250
2260
|
"CVE-2023-48022",
|
|
2251
2261
|
"CVE-2023-51449",
|
|
2262
|
+
"CVE-2023-6038",
|
|
2252
2263
|
"CVE-2024-0132",
|
|
2253
2264
|
"CVE-2024-1561",
|
|
2254
2265
|
"CVE-2024-21575",
|
|
@@ -2339,6 +2350,7 @@
|
|
|
2339
2350
|
"CVE-2024-24590",
|
|
2340
2351
|
"CVE-2024-24591",
|
|
2341
2352
|
"CVE-2024-27132",
|
|
2353
|
+
"CVE-2024-2912",
|
|
2342
2354
|
"CVE-2024-37032",
|
|
2343
2355
|
"CVE-2024-39722",
|
|
2344
2356
|
"CVE-2024-50050",
|
|
@@ -2348,6 +2360,7 @@
|
|
|
2348
2360
|
"CVE-2025-1550",
|
|
2349
2361
|
"CVE-2025-1753",
|
|
2350
2362
|
"CVE-2025-23254",
|
|
2363
|
+
"CVE-2025-27520",
|
|
2351
2364
|
"CVE-2025-30165",
|
|
2352
2365
|
"CVE-2025-32434",
|
|
2353
2366
|
"CVE-2025-33236",
|
|
@@ -2798,9 +2811,12 @@
|
|
|
2798
2811
|
"opened_date": "2026-02-01",
|
|
2799
2812
|
"evidence_cves": [
|
|
2800
2813
|
"BUG-2026-NIGHTMARE-ECLIPSE-UNDEFEND",
|
|
2814
|
+
"CVE-2023-6016",
|
|
2801
2815
|
"CVE-2024-12366",
|
|
2816
|
+
"CVE-2024-2912",
|
|
2802
2817
|
"CVE-2024-5565",
|
|
2803
2818
|
"CVE-2025-11837",
|
|
2819
|
+
"CVE-2025-27520",
|
|
2804
2820
|
"CVE-2025-3248",
|
|
2805
2821
|
"CVE-2026-22778",
|
|
2806
2822
|
"CVE-2026-32202",
|
|
@@ -4987,7 +5003,9 @@
|
|
|
4987
5003
|
"evidence_cves": [
|
|
4988
5004
|
"CVE-2023-3519",
|
|
4989
5005
|
"CVE-2024-12366",
|
|
5006
|
+
"CVE-2024-2912",
|
|
4990
5007
|
"CVE-2024-5565",
|
|
5008
|
+
"CVE-2025-27520",
|
|
4991
5009
|
"CVE-2026-0300",
|
|
4992
5010
|
"CVE-2026-42945"
|
|
4993
5011
|
],
|
|
@@ -5028,8 +5046,10 @@
|
|
|
5028
5046
|
"CVE-2023-44467",
|
|
5029
5047
|
"CVE-2023-48022",
|
|
5030
5048
|
"CVE-2023-51449",
|
|
5049
|
+
"CVE-2023-6016",
|
|
5031
5050
|
"CVE-2023-6019",
|
|
5032
5051
|
"CVE-2023-6021",
|
|
5052
|
+
"CVE-2023-6038",
|
|
5033
5053
|
"CVE-2024-0129",
|
|
5034
5054
|
"CVE-2024-0132",
|
|
5035
5055
|
"CVE-2024-11392",
|
|
@@ -5045,6 +5065,7 @@
|
|
|
5045
5065
|
"CVE-2024-24590",
|
|
5046
5066
|
"CVE-2024-24591",
|
|
5047
5067
|
"CVE-2024-27132",
|
|
5068
|
+
"CVE-2024-2912",
|
|
5048
5069
|
"CVE-2024-37032",
|
|
5049
5070
|
"CVE-2024-39722",
|
|
5050
5071
|
"CVE-2024-42478",
|
|
@@ -5057,6 +5078,7 @@
|
|
|
5057
5078
|
"CVE-2025-1753",
|
|
5058
5079
|
"CVE-2025-23254",
|
|
5059
5080
|
"CVE-2025-23266",
|
|
5081
|
+
"CVE-2025-27520",
|
|
5060
5082
|
"CVE-2025-30165",
|
|
5061
5083
|
"CVE-2025-30202",
|
|
5062
5084
|
"CVE-2025-32434",
|
|
@@ -5133,6 +5155,7 @@
|
|
|
5133
5155
|
"status": "open",
|
|
5134
5156
|
"opened_date": "2026-05-15",
|
|
5135
5157
|
"evidence_cves": [
|
|
5158
|
+
"CVE-2023-6038",
|
|
5136
5159
|
"CVE-2024-1709",
|
|
5137
5160
|
"CVE-2025-3248",
|
|
5138
5161
|
"CVE-2026-33017",
|
|
@@ -5427,6 +5450,8 @@
|
|
|
5427
5450
|
"status": "open",
|
|
5428
5451
|
"opened_date": "2026-05-15",
|
|
5429
5452
|
"evidence_cves": [
|
|
5453
|
+
"CVE-2023-6016",
|
|
5454
|
+
"CVE-2023-6038",
|
|
5430
5455
|
"CVE-2025-3248",
|
|
5431
5456
|
"CVE-2026-33017",
|
|
5432
5457
|
"CVE-2026-6973"
|
|
@@ -5590,6 +5615,8 @@
|
|
|
5590
5615
|
"evidence_cves": [
|
|
5591
5616
|
"CVE-2023-44467",
|
|
5592
5617
|
"CVE-2023-51449",
|
|
5618
|
+
"CVE-2023-6016",
|
|
5619
|
+
"CVE-2023-6038",
|
|
5593
5620
|
"CVE-2024-0129",
|
|
5594
5621
|
"CVE-2024-0132",
|
|
5595
5622
|
"CVE-2024-11392",
|
|
@@ -5605,6 +5632,7 @@
|
|
|
5605
5632
|
"CVE-2024-24590",
|
|
5606
5633
|
"CVE-2024-24591",
|
|
5607
5634
|
"CVE-2024-27132",
|
|
5635
|
+
"CVE-2024-2912",
|
|
5608
5636
|
"CVE-2024-37032",
|
|
5609
5637
|
"CVE-2024-39722",
|
|
5610
5638
|
"CVE-2024-42478",
|
|
@@ -5615,6 +5643,7 @@
|
|
|
5615
5643
|
"CVE-2025-1753",
|
|
5616
5644
|
"CVE-2025-23254",
|
|
5617
5645
|
"CVE-2025-23266",
|
|
5646
|
+
"CVE-2025-27520",
|
|
5618
5647
|
"CVE-2025-30165",
|
|
5619
5648
|
"CVE-2025-30202",
|
|
5620
5649
|
"CVE-2025-32434",
|
|
@@ -5686,8 +5715,10 @@
|
|
|
5686
5715
|
"CVE-2023-44467",
|
|
5687
5716
|
"CVE-2023-48022",
|
|
5688
5717
|
"CVE-2023-51449",
|
|
5718
|
+
"CVE-2023-6016",
|
|
5689
5719
|
"CVE-2023-6019",
|
|
5690
5720
|
"CVE-2023-6021",
|
|
5721
|
+
"CVE-2023-6038",
|
|
5691
5722
|
"CVE-2024-0129",
|
|
5692
5723
|
"CVE-2024-0132",
|
|
5693
5724
|
"CVE-2024-11392",
|
|
@@ -5703,6 +5734,7 @@
|
|
|
5703
5734
|
"CVE-2024-24590",
|
|
5704
5735
|
"CVE-2024-24591",
|
|
5705
5736
|
"CVE-2024-27132",
|
|
5737
|
+
"CVE-2024-2912",
|
|
5706
5738
|
"CVE-2024-37032",
|
|
5707
5739
|
"CVE-2024-39722",
|
|
5708
5740
|
"CVE-2024-42478",
|
|
@@ -5715,6 +5747,7 @@
|
|
|
5715
5747
|
"CVE-2025-1753",
|
|
5716
5748
|
"CVE-2025-23254",
|
|
5717
5749
|
"CVE-2025-23266",
|
|
5750
|
+
"CVE-2025-27520",
|
|
5718
5751
|
"CVE-2025-30165",
|
|
5719
5752
|
"CVE-2025-30202",
|
|
5720
5753
|
"CVE-2025-32434",
|
|
@@ -5959,6 +5992,7 @@
|
|
|
5959
5992
|
"evidence_cves": [
|
|
5960
5993
|
"CVE-2020-10148",
|
|
5961
5994
|
"CVE-2023-48022",
|
|
5995
|
+
"CVE-2023-6038",
|
|
5962
5996
|
"CVE-2025-3248",
|
|
5963
5997
|
"CVE-2025-55241",
|
|
5964
5998
|
"CVE-2026-24206",
|
|
@@ -6031,11 +6065,15 @@
|
|
|
6031
6065
|
"CVE-2022-1471",
|
|
6032
6066
|
"CVE-2023-43654",
|
|
6033
6067
|
"CVE-2023-48022",
|
|
6068
|
+
"CVE-2023-6016",
|
|
6034
6069
|
"CVE-2023-6019",
|
|
6035
6070
|
"CVE-2023-6021",
|
|
6071
|
+
"CVE-2023-6038",
|
|
6036
6072
|
"CVE-2024-1709",
|
|
6073
|
+
"CVE-2024-2912",
|
|
6037
6074
|
"CVE-2024-4889",
|
|
6038
6075
|
"CVE-2024-6587",
|
|
6076
|
+
"CVE-2025-27520",
|
|
6039
6077
|
"CVE-2025-3248",
|
|
6040
6078
|
"CVE-2025-64513",
|
|
6041
6079
|
"CVE-2025-67818",
|
|
@@ -4411,6 +4411,206 @@
|
|
|
4411
4411
|
"_auto_imported": false,
|
|
4412
4412
|
"_intake_method": "manual-verified-curation"
|
|
4413
4413
|
},
|
|
4414
|
+
"CVE-2023-6016": {
|
|
4415
|
+
"name": "H2O-3 POJO Model Import Unauthenticated Remote Code Execution",
|
|
4416
|
+
"lesson_date": "2026-05-25",
|
|
4417
|
+
"attack_vector": {
|
|
4418
|
+
"description": "H2O-3's dashboard / REST API exposes an unauthenticated POJO (Java) model-import feature that compiles and runs the imported model code, so an unauthenticated attacker imports a malicious model and gains remote code execution on the host.",
|
|
4419
|
+
"privileges_required": "none (unauthenticated)",
|
|
4420
|
+
"complexity": "low",
|
|
4421
|
+
"ai_factor": "The abused surface is H2O-3, an open-source ML/AutoML platform. The lesson: an ML platform's control plane is a privileged surface - model import runs code, so it must authenticate and reject untrusted model artifacts; a 'trusted environment' deployment assumption is not a control."
|
|
4422
|
+
},
|
|
4423
|
+
"framework_coverage": {
|
|
4424
|
+
"NIST-800-53-SI-2": {
|
|
4425
|
+
"covered": true,
|
|
4426
|
+
"adequate": false,
|
|
4427
|
+
"gap": "Flaw remediation does not track the ML platform's model-import feature; the vendor treats H2O-3 as trusted-environment-only, so no fix ships."
|
|
4428
|
+
},
|
|
4429
|
+
"NIST-800-53-SI-10": {
|
|
4430
|
+
"covered": true,
|
|
4431
|
+
"adequate": false,
|
|
4432
|
+
"gap": "No input validation distinguishes a trusted model from attacker code at the unauthenticated model-import endpoint."
|
|
4433
|
+
},
|
|
4434
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4435
|
+
"covered": false,
|
|
4436
|
+
"adequate": false,
|
|
4437
|
+
"gap": "No framework treats an ML platform's model-import feature as a privileged code-execution surface - a model artifact is executable code."
|
|
4438
|
+
}
|
|
4439
|
+
},
|
|
4440
|
+
"compliance_exposure_score": {
|
|
4441
|
+
"percent_audit_passing_orgs_still_exposed": 82,
|
|
4442
|
+
"basis": "H2O-3 is deployed for data-science productivity on trusted-network assumptions; its dashboard / REST API is frequently exposed without authentication, and the vendor ships no fix (trusted-environment-by-design).",
|
|
4443
|
+
"theater_pattern": "ai_platform_trusted_environment_assumption"
|
|
4444
|
+
},
|
|
4445
|
+
"ai_discovered_zeroday": false,
|
|
4446
|
+
"ai_discovery_source": "human_researcher",
|
|
4447
|
+
"ai_assist_factor": "none",
|
|
4448
|
+
"new_control_requirements": [
|
|
4449
|
+
{
|
|
4450
|
+
"id": "NEW-CTRL-091",
|
|
4451
|
+
"name": "UNTRUSTED-MODEL-ARTIFACT-LOADING",
|
|
4452
|
+
"description": "Treat ML model artifacts as untrusted code: never load .keras / pickle-based models from untrusted sources, verify provenance, prefer safe formats (e.g. safetensors), and load untrusted models only in a sandboxed, network-isolated, least-privilege environment. Upgrade Keras to the fixed release (>= 3.8.0 for CVE-2025-1550; past 3.10.0 for the CVE-2025-8747 safe_mode bypass) and do not rely on safe_mode alone — it was bypassable. The distinguishing test: load an attacker-crafted .keras archive with safe_mode enabled on a sandboxed instance and confirm no code executes.",
|
|
4453
|
+
"evidence": "https://nvd.nist.gov/vuln/detail/CVE-2025-1550",
|
|
4454
|
+
"gap_closes": [
|
|
4455
|
+
"NIST-800-53-SI-2",
|
|
4456
|
+
"NIST-800-53-SI-10",
|
|
4457
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4458
|
+
]
|
|
4459
|
+
}
|
|
4460
|
+
],
|
|
4461
|
+
"_auto_imported": false,
|
|
4462
|
+
"_intake_method": "manual-verified-curation"
|
|
4463
|
+
},
|
|
4464
|
+
"CVE-2024-2912": {
|
|
4465
|
+
"name": "BentoML Insecure Deserialization Unauthenticated Remote Code Execution",
|
|
4466
|
+
"lesson_date": "2026-05-25",
|
|
4467
|
+
"attack_vector": {
|
|
4468
|
+
"description": "BentoML before 1.2.5 deserializes an attacker-supplied serialized object delivered to a valid serving endpoint without validation, so an unauthenticated attacker runs arbitrary code on the model server.",
|
|
4469
|
+
"privileges_required": "none (unauthenticated)",
|
|
4470
|
+
"complexity": "low",
|
|
4471
|
+
"ai_factor": "The abused surface is BentoML, a model-serving / inference framework. The lesson: a model server must never reconstruct an untrusted serialized object from a request - the same inference-path deserialization class as the ShadowMQ / vLLM entries, here on the HTTP serving API, and it recurred in BentoML after the first fix."
|
|
4472
|
+
},
|
|
4473
|
+
"framework_coverage": {
|
|
4474
|
+
"NIST-800-53-SI-2": {
|
|
4475
|
+
"covered": true,
|
|
4476
|
+
"adequate": false,
|
|
4477
|
+
"gap": "Flaw remediation closed one deserialization path (1.2.5) but the class recurred (serde.py, fixed 1.4.3) - the fix did not generalize to all request-deserialization sinks."
|
|
4478
|
+
},
|
|
4479
|
+
"NIST-800-53-SI-10": {
|
|
4480
|
+
"covered": true,
|
|
4481
|
+
"adequate": false,
|
|
4482
|
+
"gap": "No input validation distinguishes a safe payload from a deserialization-gadget object at the model-serving endpoint."
|
|
4483
|
+
},
|
|
4484
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4485
|
+
"covered": false,
|
|
4486
|
+
"adequate": false,
|
|
4487
|
+
"gap": "No framework treats a model-serving framework's request-deserialization path as a privileged execution surface."
|
|
4488
|
+
}
|
|
4489
|
+
},
|
|
4490
|
+
"compliance_exposure_score": {
|
|
4491
|
+
"percent_audit_passing_orgs_still_exposed": 84,
|
|
4492
|
+
"basis": "Model-serving frameworks are deployed for inference throughput on trusted-network assumptions; their request-deserialization paths are not treated as untrusted-input boundaries.",
|
|
4493
|
+
"theater_pattern": "model_serving_deserialization_trust"
|
|
4494
|
+
},
|
|
4495
|
+
"ai_discovered_zeroday": false,
|
|
4496
|
+
"ai_discovery_source": "human_researcher",
|
|
4497
|
+
"ai_assist_factor": "none",
|
|
4498
|
+
"new_control_requirements": [
|
|
4499
|
+
{
|
|
4500
|
+
"id": "NEW-CTRL-086",
|
|
4501
|
+
"name": "AI-INFERENCE-IPC-DESERIALIZATION-SAFETY",
|
|
4502
|
+
"description": "AI inference engines must use a safe serializer (e.g. JSON) for IPC/socket communication, never deserialize untrusted serialized objects, authenticate socket peers, and isolate the channel on a trusted network segment. Because the insecure primitive spread by code reuse, the control must be applied across every inference engine in the estate, not one at a time. Apply the project fix (NVIDIA TensorRT-LLM), and for vLLM keep the legacy V0 engine disabled. The distinguishing test: send a crafted serialized object to the inference engine's socket from an unauthorized peer on a staging instance and confirm it is rejected, not deserialized.",
|
|
4503
|
+
"evidence": "https://nvidia.custhelp.com/app/answers/detail/a_id/5648",
|
|
4504
|
+
"gap_closes": [
|
|
4505
|
+
"NIST-800-53-SI-2",
|
|
4506
|
+
"NIST-800-53-SI-10",
|
|
4507
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4508
|
+
]
|
|
4509
|
+
}
|
|
4510
|
+
],
|
|
4511
|
+
"_auto_imported": false,
|
|
4512
|
+
"_intake_method": "manual-verified-curation"
|
|
4513
|
+
},
|
|
4514
|
+
"CVE-2025-27520": {
|
|
4515
|
+
"name": "BentoML serde.py Insecure Deserialization Unauthenticated Remote Code Execution",
|
|
4516
|
+
"lesson_date": "2026-05-25",
|
|
4517
|
+
"attack_vector": {
|
|
4518
|
+
"description": "BentoML 1.3.4 through 1.4.2 reconstructs an attacker-supplied serialized object in serde.py from a request without validation, giving any unauthenticated user remote code execution - the same insecure-deserialization class that 1.2.5 fixed, recurring on the serde.py path.",
|
|
4519
|
+
"privileges_required": "none (unauthenticated)",
|
|
4520
|
+
"complexity": "low",
|
|
4521
|
+
"ai_factor": "The abused surface is BentoML, a model-serving / inference framework. The lesson: a model server must never reconstruct an untrusted serialized object from a request - the same inference-path deserialization class as the ShadowMQ / vLLM entries, here on the HTTP serving API, and it recurred in BentoML after the first fix."
|
|
4522
|
+
},
|
|
4523
|
+
"framework_coverage": {
|
|
4524
|
+
"NIST-800-53-SI-2": {
|
|
4525
|
+
"covered": true,
|
|
4526
|
+
"adequate": false,
|
|
4527
|
+
"gap": "Flaw remediation closed one deserialization path (1.2.5) but the class recurred (serde.py, fixed 1.4.3) - the fix did not generalize to all request-deserialization sinks."
|
|
4528
|
+
},
|
|
4529
|
+
"NIST-800-53-SI-10": {
|
|
4530
|
+
"covered": true,
|
|
4531
|
+
"adequate": false,
|
|
4532
|
+
"gap": "No input validation distinguishes a safe payload from a deserialization-gadget object at the model-serving endpoint."
|
|
4533
|
+
},
|
|
4534
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4535
|
+
"covered": false,
|
|
4536
|
+
"adequate": false,
|
|
4537
|
+
"gap": "No framework treats a model-serving framework's request-deserialization path as a privileged execution surface."
|
|
4538
|
+
}
|
|
4539
|
+
},
|
|
4540
|
+
"compliance_exposure_score": {
|
|
4541
|
+
"percent_audit_passing_orgs_still_exposed": 84,
|
|
4542
|
+
"basis": "Model-serving frameworks are deployed for inference throughput on trusted-network assumptions; their request-deserialization paths are not treated as untrusted-input boundaries.",
|
|
4543
|
+
"theater_pattern": "model_serving_deserialization_trust"
|
|
4544
|
+
},
|
|
4545
|
+
"ai_discovered_zeroday": false,
|
|
4546
|
+
"ai_discovery_source": "human_researcher",
|
|
4547
|
+
"ai_assist_factor": "none",
|
|
4548
|
+
"new_control_requirements": [
|
|
4549
|
+
{
|
|
4550
|
+
"id": "NEW-CTRL-086",
|
|
4551
|
+
"name": "AI-INFERENCE-IPC-DESERIALIZATION-SAFETY",
|
|
4552
|
+
"description": "AI inference engines must use a safe serializer (e.g. JSON) for IPC/socket communication, never deserialize untrusted serialized objects, authenticate socket peers, and isolate the channel on a trusted network segment. Because the insecure primitive spread by code reuse, the control must be applied across every inference engine in the estate, not one at a time. Apply the project fix (NVIDIA TensorRT-LLM), and for vLLM keep the legacy V0 engine disabled. The distinguishing test: send a crafted serialized object to the inference engine's socket from an unauthorized peer on a staging instance and confirm it is rejected, not deserialized.",
|
|
4553
|
+
"evidence": "https://nvidia.custhelp.com/app/answers/detail/a_id/5648",
|
|
4554
|
+
"gap_closes": [
|
|
4555
|
+
"NIST-800-53-SI-2",
|
|
4556
|
+
"NIST-800-53-SI-10",
|
|
4557
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4558
|
+
]
|
|
4559
|
+
}
|
|
4560
|
+
],
|
|
4561
|
+
"_auto_imported": false,
|
|
4562
|
+
"_intake_method": "manual-verified-curation"
|
|
4563
|
+
},
|
|
4564
|
+
"CVE-2023-6038": {
|
|
4565
|
+
"name": "H2O-3 REST API Unauthenticated Local File Inclusion (Arbitrary File Read)",
|
|
4566
|
+
"lesson_date": "2026-05-25",
|
|
4567
|
+
"attack_vector": {
|
|
4568
|
+
"description": "H2O-3's REST API exposes a file-import path with no authorization check, so an unauthenticated remote attacker reads arbitrary files on the host with the H2O-3 process's permissions (Local File Inclusion).",
|
|
4569
|
+
"privileges_required": "none (unauthenticated)",
|
|
4570
|
+
"complexity": "low",
|
|
4571
|
+
"ai_factor": "The abused surface is H2O-3, an open-source ML/AutoML platform. The lesson: an ML platform's control plane is a privileged surface - its REST API must authenticate every endpoint; a 'trusted environment' deployment assumption is not a control."
|
|
4572
|
+
},
|
|
4573
|
+
"framework_coverage": {
|
|
4574
|
+
"NIST-800-53-IA-2": {
|
|
4575
|
+
"covered": true,
|
|
4576
|
+
"adequate": false,
|
|
4577
|
+
"gap": "The H2O-3 REST API does not authenticate callers before serving a file-import path; 'trusted environment' is assumed, not enforced."
|
|
4578
|
+
},
|
|
4579
|
+
"NIST-800-53-SC-7": {
|
|
4580
|
+
"covered": true,
|
|
4581
|
+
"adequate": false,
|
|
4582
|
+
"gap": "Boundary protection does not treat the unauthenticated ML-platform REST API as an exposed surface."
|
|
4583
|
+
},
|
|
4584
|
+
"ALL-AI-PIPELINE-INTEGRITY": {
|
|
4585
|
+
"covered": false,
|
|
4586
|
+
"adequate": false,
|
|
4587
|
+
"gap": "No framework requires authenticating every endpoint of an ML platform's control plane / REST API."
|
|
4588
|
+
}
|
|
4589
|
+
},
|
|
4590
|
+
"compliance_exposure_score": {
|
|
4591
|
+
"percent_audit_passing_orgs_still_exposed": 80,
|
|
4592
|
+
"basis": "H2O-3 is deployed for data-science productivity on trusted-network assumptions; its dashboard / REST API is frequently exposed without authentication, and the vendor ships no fix (trusted-environment-by-design).",
|
|
4593
|
+
"theater_pattern": "ai_platform_trusted_environment_assumption"
|
|
4594
|
+
},
|
|
4595
|
+
"ai_discovered_zeroday": false,
|
|
4596
|
+
"ai_discovery_source": "human_researcher",
|
|
4597
|
+
"ai_assist_factor": "none",
|
|
4598
|
+
"new_control_requirements": [
|
|
4599
|
+
{
|
|
4600
|
+
"id": "NEW-CTRL-088",
|
|
4601
|
+
"name": "AI-COMPUTE-CONTROL-PLANE-AUTHENTICATION",
|
|
4602
|
+
"description": "An AI compute framework's job/control API must authenticate every caller; 'deploy only on a trusted network' is an assumption, not a control, and must not substitute for authentication. Enable Ray token authentication (2.52.0+), never expose the dashboard / Job Submission API to untrusted networks, front it with an authenticating proxy, and treat any internet-exposed cluster as compromised (rotate model artifacts and cloud credentials). The distinguishing test: from the public internet, attempt to reach the Ray dashboard (default 8265) and submit a job unauthenticated on a staging cluster; it must be refused.",
|
|
4603
|
+
"evidence": "https://atlas.mitre.org/studies/AML.CS0023",
|
|
4604
|
+
"gap_closes": [
|
|
4605
|
+
"NIST-800-53-IA-2",
|
|
4606
|
+
"NIST-800-53-SC-7",
|
|
4607
|
+
"ALL-AI-PIPELINE-INTEGRITY"
|
|
4608
|
+
]
|
|
4609
|
+
}
|
|
4610
|
+
],
|
|
4611
|
+
"_auto_imported": false,
|
|
4612
|
+
"_intake_method": "manual-verified-curation"
|
|
4613
|
+
},
|
|
4414
4614
|
"CVE-2024-24591": {
|
|
4415
4615
|
"name": "ClearML Client SDK Dataset Path Traversal Arbitrary File Write",
|
|
4416
4616
|
"lesson_date": "2026-05-25",
|