@blamejs/exceptd-skills 0.13.108 → 0.13.110

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.
@@ -37,6 +37,8 @@
37
37
  "CVE-2022-1471",
38
38
  "CVE-2022-36551",
39
39
  "CVE-2023-43654",
40
+ "CVE-2023-43791",
41
+ "CVE-2023-47117",
40
42
  "CVE-2023-48022",
41
43
  "CVE-2023-51449",
42
44
  "CVE-2023-6016",
@@ -101,6 +103,8 @@
101
103
  "CVE-2026-30617",
102
104
  "CVE-2026-30624",
103
105
  "CVE-2026-30625",
106
+ "CVE-2026-31229",
107
+ "CVE-2026-31230",
104
108
  "CVE-2026-33017",
105
109
  "CVE-2026-34159",
106
110
  "CVE-2026-40933",
@@ -1291,6 +1295,8 @@
1291
1295
  "CVE-2025-3248",
1292
1296
  "CVE-2025-6965",
1293
1297
  "CVE-2026-30623",
1298
+ "CVE-2026-31229",
1299
+ "CVE-2026-31230",
1294
1300
  "CVE-2026-33017"
1295
1301
  ],
1296
1302
  "atlas_refs": [
@@ -2128,6 +2134,8 @@
2128
2134
  "CVE-2025-49844",
2129
2135
  "CVE-2025-53773",
2130
2136
  "CVE-2026-30615",
2137
+ "CVE-2026-31229",
2138
+ "CVE-2026-31230",
2131
2139
  "CVE-2026-33017"
2132
2140
  ],
2133
2141
  "atlas_refs": [
@@ -2198,6 +2206,8 @@
2198
2206
  "opened_date": "2026-04-01",
2199
2207
  "evidence_cves": [
2200
2208
  "BUG-2026-NIGHTMARE-ECLIPSE-YELLOWKEY",
2209
+ "CVE-2023-43791",
2210
+ "CVE-2023-47117",
2201
2211
  "CVE-2025-14847",
2202
2212
  "CVE-2025-22226",
2203
2213
  "CVE-2026-43284"
@@ -2387,6 +2397,8 @@
2387
2397
  "CVE-2026-24213",
2388
2398
  "CVE-2026-24214",
2389
2399
  "CVE-2026-24215",
2400
+ "CVE-2026-31229",
2401
+ "CVE-2026-31230",
2390
2402
  "CVE-2026-39884",
2391
2403
  "CVE-2026-42208",
2392
2404
  "CVE-2026-45829",
@@ -2768,6 +2780,8 @@
2768
2780
  "CVE-2026-30617",
2769
2781
  "CVE-2026-30624",
2770
2782
  "CVE-2026-30625",
2783
+ "CVE-2026-31229",
2784
+ "CVE-2026-31230",
2771
2785
  "CVE-2026-31431",
2772
2786
  "CVE-2026-31635",
2773
2787
  "CVE-2026-32201",
@@ -3839,6 +3853,8 @@
3839
3853
  "evidence_cves": [
3840
3854
  "CVE-2022-1471",
3841
3855
  "CVE-2023-43654",
3856
+ "CVE-2023-43791",
3857
+ "CVE-2023-47117",
3842
3858
  "CVE-2023-48022",
3843
3859
  "CVE-2023-6019",
3844
3860
  "CVE-2023-6021",
@@ -5062,7 +5078,9 @@
5062
5078
  "CVE-2022-1471",
5063
5079
  "CVE-2022-36551",
5064
5080
  "CVE-2023-43654",
5081
+ "CVE-2023-43791",
5065
5082
  "CVE-2023-44467",
5083
+ "CVE-2023-47117",
5066
5084
  "CVE-2023-48022",
5067
5085
  "CVE-2023-51449",
5068
5086
  "CVE-2023-6016",
@@ -5132,6 +5150,8 @@
5132
5150
  "CVE-2026-30617",
5133
5151
  "CVE-2026-30624",
5134
5152
  "CVE-2026-30625",
5153
+ "CVE-2026-31229",
5154
+ "CVE-2026-31230",
5135
5155
  "CVE-2026-33017",
5136
5156
  "CVE-2026-34159",
5137
5157
  "CVE-2026-34926",
@@ -5178,6 +5198,8 @@
5178
5198
  "opened_date": "2026-05-15",
5179
5199
  "evidence_cves": [
5180
5200
  "CVE-2022-36551",
5201
+ "CVE-2023-43791",
5202
+ "CVE-2023-47117",
5181
5203
  "CVE-2023-6038",
5182
5204
  "CVE-2024-1709",
5183
5205
  "CVE-2025-25297",
@@ -5474,6 +5496,8 @@
5474
5496
  "status": "open",
5475
5497
  "opened_date": "2026-05-15",
5476
5498
  "evidence_cves": [
5499
+ "CVE-2023-43791",
5500
+ "CVE-2023-47117",
5477
5501
  "CVE-2023-6016",
5478
5502
  "CVE-2023-6038",
5479
5503
  "CVE-2025-3248",
@@ -5638,7 +5662,9 @@
5638
5662
  "opened_date": "2026-05-17",
5639
5663
  "evidence_cves": [
5640
5664
  "CVE-2022-36551",
5665
+ "CVE-2023-43791",
5641
5666
  "CVE-2023-44467",
5667
+ "CVE-2023-47117",
5642
5668
  "CVE-2023-51449",
5643
5669
  "CVE-2023-6016",
5644
5670
  "CVE-2023-6038",
@@ -5697,6 +5723,8 @@
5697
5723
  "CVE-2026-30617",
5698
5724
  "CVE-2026-30624",
5699
5725
  "CVE-2026-30625",
5726
+ "CVE-2026-31229",
5727
+ "CVE-2026-31230",
5700
5728
  "CVE-2026-33017",
5701
5729
  "CVE-2026-34159",
5702
5730
  "CVE-2026-34926",
@@ -5741,7 +5769,9 @@
5741
5769
  "CVE-2022-1471",
5742
5770
  "CVE-2022-36551",
5743
5771
  "CVE-2023-43654",
5772
+ "CVE-2023-43791",
5744
5773
  "CVE-2023-44467",
5774
+ "CVE-2023-47117",
5745
5775
  "CVE-2023-48022",
5746
5776
  "CVE-2023-51449",
5747
5777
  "CVE-2023-6016",
@@ -5809,6 +5839,8 @@
5809
5839
  "CVE-2026-30617",
5810
5840
  "CVE-2026-30624",
5811
5841
  "CVE-2026-30625",
5842
+ "CVE-2026-31229",
5843
+ "CVE-2026-31230",
5812
5844
  "CVE-2026-33017",
5813
5845
  "CVE-2026-34159",
5814
5846
  "CVE-2026-34926",
@@ -5889,6 +5921,8 @@
5889
5921
  "CVE-2024-3154",
5890
5922
  "CVE-2024-37052",
5891
5923
  "CVE-2024-37060",
5924
+ "CVE-2026-31229",
5925
+ "CVE-2026-31230",
5892
5926
  "MAL-2026-NODE-IPC-STEALER",
5893
5927
  "MAL-2026-RUBYGEMS-BUFFERZONECORP-SLEEPER",
5894
5928
  "MAL-2026-SHAI-HULUD-OSS",
@@ -6025,6 +6059,8 @@
6025
6059
  "opened_date": "2026-05-18",
6026
6060
  "evidence_cves": [
6027
6061
  "CVE-2020-10148",
6062
+ "CVE-2023-43791",
6063
+ "CVE-2023-47117",
6028
6064
  "CVE-2023-48022",
6029
6065
  "CVE-2023-6038",
6030
6066
  "CVE-2025-3248",
@@ -4611,6 +4611,206 @@
4611
4611
  "_auto_imported": false,
4612
4612
  "_intake_method": "manual-verified-curation"
4613
4613
  },
4614
+ "CVE-2023-47117": {
4615
+ "name": "Label Studio ORM Filter Manipulation Sensitive-Field Disclosure",
4616
+ "lesson_date": "2026-05-25",
4617
+ "attack_vector": {
4618
+ "description": "Label Studio passes user-controlled task filters into a Django ORM query without restricting referenced fields, so an attacker reads sensitive fields (password hashes, tokens) from all user accounts.",
4619
+ "privileges_required": "none (unauthenticated field disclosure)",
4620
+ "complexity": "low",
4621
+ "ai_factor": "The abused surface is Label Studio, a data-labeling / annotation platform central to ML data pipelines. The lesson: an ML data-platform API must enforce object-level authorization and never expose sensitive fields - this CVE supplies the leaked credentials in a privilege-escalation chain that ends in full account takeover."
4622
+ },
4623
+ "framework_coverage": {
4624
+ "NIST-800-53-AC-3": {
4625
+ "covered": true,
4626
+ "adequate": false,
4627
+ "gap": "Access enforcement does not constrain which records/fields a user can read through the API."
4628
+ },
4629
+ "NIST-800-53-SC-28": {
4630
+ "covered": true,
4631
+ "adequate": false,
4632
+ "gap": "Sensitive fields (password hashes, tokens) are readable through the API and directly usable once leaked."
4633
+ },
4634
+ "ALL-AI-PIPELINE-INTEGRITY": {
4635
+ "covered": false,
4636
+ "adequate": false,
4637
+ "gap": "No framework treats an ML data-platform API's object-level authorization and sensitive-field exposure as integrity controls whose failure yields account takeover."
4638
+ }
4639
+ },
4640
+ "compliance_exposure_score": {
4641
+ "percent_audit_passing_orgs_still_exposed": 80,
4642
+ "basis": "ML data-labeling platforms expose rich APIs over collaborative datasets; object-level authorization and serializer field allowlisting are frequently missing, and audits rarely test cross-account field reads.",
4643
+ "theater_pattern": "ai_app_broken_object_authorization"
4644
+ },
4645
+ "ai_discovered_zeroday": false,
4646
+ "ai_discovery_source": "human_researcher",
4647
+ "ai_assist_factor": "none",
4648
+ "new_control_requirements": [
4649
+ {
4650
+ "id": "NEW-CTRL-106",
4651
+ "name": "AI-APP-API-OBJECT-AUTHORIZATION-AND-FIELD-EXPOSURE",
4652
+ "description": "An AI data-platform API (data-labeling, annotation, dataset/registry services) must enforce object-level authorization on every read and must never expose sensitive fields - secrets, session-signing keys, auth tokens, password hashes - through API responses, serializers, or user-controlled query/filter expressions. Use serializer field allowlists (never blanket model serialization), reject ORM/filter inputs that reference fields the caller is not authorized to read, scope every query to the caller's own objects, and store credentials so a read leak is not directly replayable (and rotate exposed secrets). The distinguishing test: as a low-privilege user, craft a filter/query that references another account's password hash or token, and confirm the API refuses it - a platform whose filter/serializer leaks sensitive fields lets an attacker chain disclosure into account impersonation and privilege escalation.",
4653
+ "evidence": "https://github.com/advisories/GHSA-6hjj-gq77-j4qw",
4654
+ "gap_closes": [
4655
+ "NIST-800-53-AC-3",
4656
+ "NIST-800-53-SC-28",
4657
+ "ALL-AI-PIPELINE-INTEGRITY"
4658
+ ]
4659
+ }
4660
+ ],
4661
+ "_auto_imported": false,
4662
+ "_intake_method": "manual-verified-curation"
4663
+ },
4664
+ "CVE-2026-31229": {
4665
+ "name": "Adversarial Robustness Toolbox torch.load Model Deserialization RCE",
4666
+ "lesson_date": "2026-05-25",
4667
+ "attack_vector": {
4668
+ "description": "ART's Kubeflow model-loading component calls torch.load() without weights_only=True, so loading a maliciously crafted model file runs arbitrary code through unsafe object-deserialization (the same weights_only gap as CVE-2025-32434, here in the defensive-ML library).",
4669
+ "privileges_required": "none-to-low (control the loaded model / the affected CLI argument value)",
4670
+ "complexity": "low",
4671
+ "ai_factor": "The abused surface is the Adversarial Robustness Toolbox (ART) - the Trusted-AI library used to DEFEND ML models against adversarial attacks. The lesson: defensive-ML tooling is code-bearing infrastructure too; a model file it loads is executable code."
4672
+ },
4673
+ "framework_coverage": {
4674
+ "NIST-800-53-SI-2": {
4675
+ "covered": true,
4676
+ "adequate": false,
4677
+ "gap": "No fix is published; loading an untrusted model is inherently code execution - the control is provenance + sandboxing, not patching."
4678
+ },
4679
+ "NIST-800-53-SI-10": {
4680
+ "covered": true,
4681
+ "adequate": false,
4682
+ "gap": "No input validation distinguishes a benign model from a deserialization payload before ART loads it."
4683
+ },
4684
+ "ALL-AI-PIPELINE-INTEGRITY": {
4685
+ "covered": false,
4686
+ "adequate": false,
4687
+ "gap": "No framework treats the adversarial-robustness library's model-loading path as a privileged code-execution surface."
4688
+ }
4689
+ },
4690
+ "compliance_exposure_score": {
4691
+ "percent_audit_passing_orgs_still_exposed": 82,
4692
+ "basis": "Defensive-ML libraries are trusted by assumption and run inside ML pipelines; their model-loading and CLI-parsing paths are not treated as code-execution surfaces, and no patch is published.",
4693
+ "theater_pattern": "untrusted_model_artifact_as_code"
4694
+ },
4695
+ "ai_discovered_zeroday": false,
4696
+ "ai_discovery_source": "human_researcher",
4697
+ "ai_assist_factor": "none",
4698
+ "new_control_requirements": [
4699
+ {
4700
+ "id": "NEW-CTRL-091",
4701
+ "name": "UNTRUSTED-MODEL-ARTIFACT-LOADING",
4702
+ "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.",
4703
+ "evidence": "https://nvd.nist.gov/vuln/detail/CVE-2025-1550",
4704
+ "gap_closes": [
4705
+ "NIST-800-53-SI-2",
4706
+ "NIST-800-53-SI-10",
4707
+ "ALL-AI-PIPELINE-INTEGRITY"
4708
+ ]
4709
+ }
4710
+ ],
4711
+ "_auto_imported": false,
4712
+ "_intake_method": "manual-verified-curation"
4713
+ },
4714
+ "CVE-2026-31230": {
4715
+ "name": "Adversarial Robustness Toolbox CLI Argument Dynamic-Evaluation Code Execution",
4716
+ "lesson_date": "2026-05-25",
4717
+ "attack_vector": {
4718
+ "description": "ART's Kubeflow component parses the --clip_values and --input_shape command-line arguments through an unsafe dynamic-evaluation call, so attacker-controlled argument values execute arbitrary Python (the same build-from-arguments root cause as the LlamaIndex CLI injection).",
4719
+ "privileges_required": "none-to-low (control the loaded model / the affected CLI argument value)",
4720
+ "complexity": "low",
4721
+ "ai_factor": "The abused surface is the Adversarial Robustness Toolbox (ART) - the Trusted-AI library used to DEFEND ML models against adversarial attacks. The lesson: defensive-ML tooling is code-bearing infrastructure too; its CLI must parse arguments with a safe literal parser, never a dynamic-evaluation call."
4722
+ },
4723
+ "framework_coverage": {
4724
+ "NIST-800-53-SI-2": {
4725
+ "covered": true,
4726
+ "adequate": false,
4727
+ "gap": "No fix is published; the control is parsing CLI arguments with a safe literal parser rather than a dynamic-evaluation call."
4728
+ },
4729
+ "NIST-800-53-SI-10": {
4730
+ "covered": true,
4731
+ "adequate": false,
4732
+ "gap": "No input validation distinguishes a safe CLI argument value from injected code before ART evaluates it."
4733
+ },
4734
+ "ALL-AI-PIPELINE-INTEGRITY": {
4735
+ "covered": false,
4736
+ "adequate": false,
4737
+ "gap": "No framework treats an ML library's CLI argument parsing as a privileged code-execution surface."
4738
+ }
4739
+ },
4740
+ "compliance_exposure_score": {
4741
+ "percent_audit_passing_orgs_still_exposed": 82,
4742
+ "basis": "Defensive-ML libraries are trusted by assumption and run inside ML pipelines; their model-loading and CLI-parsing paths are not treated as code-execution surfaces, and no patch is published.",
4743
+ "theater_pattern": "ai_framework_cli_eval"
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-100",
4751
+ "name": "AI-FRAMEWORK-CLI-SHELL-INPUT-NEUTRALIZATION",
4752
+ "description": "AI-framework CLIs and tools that invoke external commands must never build a shell string from user-supplied arguments or config: use argv-array execution (no shell), or neutralize input with shlex/equivalent. Upgrade llama-index-cli past 0.12.20 to the shlex-escaped release, and in any wrapper/automation pass arguments as a list rather than a shell string. The distinguishing test: pass a --files value containing shell metacharacters to a staging CLI and confirm no subcommand executes.",
4753
+ "evidence": "https://huntr.com/bounties/19e1c67e-1d77-451d-b10b-acbe99900b22",
4754
+ "gap_closes": [
4755
+ "NIST-800-53-SI-2",
4756
+ "NIST-800-53-SI-10",
4757
+ "ALL-AI-PIPELINE-INTEGRITY"
4758
+ ]
4759
+ }
4760
+ ],
4761
+ "_auto_imported": false,
4762
+ "_intake_method": "manual-verified-curation"
4763
+ },
4764
+ "CVE-2023-43791": {
4765
+ "name": "Label Studio Account Impersonation and Privilege Escalation",
4766
+ "lesson_date": "2026-05-25",
4767
+ "attack_vector": {
4768
+ "description": "Label Studio exposes information that, chained with the ORM sensitive-field leak (CVE-2023-47117), lets an attacker impersonate any account and escalate from a low-privilege user to a Django super administrator.",
4769
+ "privileges_required": "low (a low-privilege account; the chain reaches Django superadmin)",
4770
+ "complexity": "low",
4771
+ "ai_factor": "The abused surface is Label Studio, a data-labeling / annotation platform central to ML data pipelines. The lesson: an ML data-platform API must enforce object-level authorization and never expose sensitive fields - this CVE replays the leaked credentials to impersonate and escalate in a privilege-escalation chain that ends in full account takeover."
4772
+ },
4773
+ "framework_coverage": {
4774
+ "NIST-800-53-AC-3": {
4775
+ "covered": true,
4776
+ "adequate": false,
4777
+ "gap": "Access enforcement does not constrain which records/fields a user can read through the API."
4778
+ },
4779
+ "NIST-800-53-SC-28": {
4780
+ "covered": true,
4781
+ "adequate": false,
4782
+ "gap": "Sensitive fields (password hashes, tokens) are readable through the API and directly usable once leaked."
4783
+ },
4784
+ "ALL-AI-PIPELINE-INTEGRITY": {
4785
+ "covered": false,
4786
+ "adequate": false,
4787
+ "gap": "No framework treats an ML data-platform API's object-level authorization and sensitive-field exposure as integrity controls whose failure yields account takeover."
4788
+ }
4789
+ },
4790
+ "compliance_exposure_score": {
4791
+ "percent_audit_passing_orgs_still_exposed": 82,
4792
+ "basis": "ML data-labeling platforms expose rich APIs over collaborative datasets; object-level authorization and serializer field allowlisting are frequently missing, and audits rarely test cross-account field reads.",
4793
+ "theater_pattern": "ai_app_broken_object_authorization"
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-106",
4801
+ "name": "AI-APP-API-OBJECT-AUTHORIZATION-AND-FIELD-EXPOSURE",
4802
+ "description": "An AI data-platform API (data-labeling, annotation, dataset/registry services) must enforce object-level authorization on every read and must never expose sensitive fields - secrets, session-signing keys, auth tokens, password hashes - through API responses, serializers, or user-controlled query/filter expressions. Use serializer field allowlists (never blanket model serialization), reject ORM/filter inputs that reference fields the caller is not authorized to read, scope every query to the caller's own objects, and store credentials so a read leak is not directly replayable (and rotate exposed secrets). The distinguishing test: as a low-privilege user, craft a filter/query that references another account's password hash or token, and confirm the API refuses it - a platform whose filter/serializer leaks sensitive fields lets an attacker chain disclosure into account impersonation and privilege escalation.",
4803
+ "evidence": "https://github.com/advisories/GHSA-f475-x83m-rx5m",
4804
+ "gap_closes": [
4805
+ "NIST-800-53-AC-3",
4806
+ "NIST-800-53-SC-28",
4807
+ "ALL-AI-PIPELINE-INTEGRITY"
4808
+ ]
4809
+ }
4810
+ ],
4811
+ "_auto_imported": false,
4812
+ "_intake_method": "manual-verified-curation"
4813
+ },
4614
4814
  "CVE-2022-36551": {
4615
4815
  "name": "Label Studio Data Import Server-Side Request Forgery",
4616
4816
  "lesson_date": "2026-05-25",