From f5e8cf55481f0249e468f669d396216b5ad3ca69 Mon Sep 17 00:00:00 2001 From: CarterPerez-dev Date: Fri, 1 May 2026 22:39:29 -0400 Subject: [PATCH] feat(monitor/collectors/cve): NVD CVE 2.0 client (apiKey header, last-modified window, NVDTime) --- .../internal/collectors/cve/nvd_client.go | 133 ++++++++++++++++++ .../collectors/cve/nvd_client_test.go | 78 ++++++++++ .../cve/testdata/nvd_2h_window.json | 1 + 3 files changed, 212 insertions(+) create mode 100644 PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client.go create mode 100644 PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client_test.go create mode 100644 PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/testdata/nvd_2h_window.json diff --git a/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client.go b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client.go new file mode 100644 index 00000000..8457d0cc --- /dev/null +++ b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client.go @@ -0,0 +1,133 @@ +// ©AngelaMos | 2026 +// nvd_client.go + +package cve + +import ( + "context" + "fmt" + "net/url" + "time" + + "golang.org/x/time/rate" + + "github.com/carterperez-dev/monitor-the-situation/backend/internal/httpx" +) + +const ( + defaultNVDBaseURL = "https://services.nvd.nist.gov" + pathNVDCVE2 = "/rest/json/cves/2.0" + defaultNVDRate = 600 * time.Millisecond + defaultNVDBurst = 5 + defaultNVDBudget = 5 + defaultNVDBreakerWin = 120 * time.Second + nvdTimeFormat = "2006-01-02T15:04:05.000" + nvdAPIKeyHeader = "apiKey" +) + +type NVDClientConfig struct { + BaseURL string + APIKey string +} + +type NVDClient struct { + hx *httpx.Client +} + +func NewNVDClient(cfg NVDClientConfig) *NVDClient { + if cfg.BaseURL == "" { + cfg.BaseURL = defaultNVDBaseURL + } + return &NVDClient{ + hx: httpx.New(httpx.Config{ + Name: "nvd", + BaseURL: cfg.BaseURL, + APIKey: cfg.APIKey, + APIKeyHeader: nvdAPIKeyHeader, + Rate: rate.Every(defaultNVDRate), + Burst: defaultNVDBurst, + ConsecutiveFailureBudget: defaultNVDBudget, + BreakerTimeout: defaultNVDBreakerWin, + }), + } +} + +type NVDResponse struct { + ResultsPerPage int `json:"resultsPerPage"` + StartIndex int `json:"startIndex"` + TotalResults int `json:"totalResults"` + Vulnerabilities []NVDVulnRoot `json:"vulnerabilities"` +} + +type NVDVulnRoot struct { + CVE NVDCVE `json:"cve"` +} + +type NVDCVE struct { + ID string `json:"id"` + Published NVDTime `json:"published"` + LastModified NVDTime `json:"lastModified"` + Metrics NVDMetrics `json:"metrics"` +} + +type NVDTime struct { + time.Time +} + +func (t *NVDTime) UnmarshalJSON(b []byte) error { + s := string(b) + if len(s) >= 2 && s[0] == '"' && s[len(s)-1] == '"' { + s = s[1 : len(s)-1] + } + if s == "" || s == "null" { + return nil + } + for _, layout := range []string{ + time.RFC3339Nano, + time.RFC3339, + "2006-01-02T15:04:05.999", + "2006-01-02T15:04:05", + } { + if parsed, err := time.Parse(layout, s); err == nil { + t.Time = parsed.UTC() + return nil + } + } + return fmt.Errorf("nvd time: unrecognized format %q", s) +} + +type NVDMetrics struct { + CVSSv31 []NVDMetricEntry `json:"cvssMetricV31"` + CVSSv30 []NVDMetricEntry `json:"cvssMetricV30"` +} + +type NVDMetricEntry struct { + CVSSData NVDCVSSData `json:"cvssData"` +} + +type NVDCVSSData struct { + BaseScore float64 `json:"baseScore"` + BaseSeverity string `json:"baseSeverity"` +} + +func (c *NVDClient) Fetch(ctx context.Context, start, end time.Time) (NVDResponse, error) { + q := url.Values{ + "lastModStartDate": []string{start.UTC().Format(nvdTimeFormat)}, + "lastModEndDate": []string{end.UTC().Format(nvdTimeFormat)}, + } + var resp NVDResponse + if err := c.hx.GetJSON(ctx, pathNVDCVE2, q, &resp); err != nil { + return NVDResponse{}, fmt.Errorf("nvd fetch: %w", err) + } + return resp, nil +} + +func (v NVDVulnRoot) PrimarySeverity() (float64, string) { + if len(v.CVE.Metrics.CVSSv31) > 0 { + return v.CVE.Metrics.CVSSv31[0].CVSSData.BaseScore, v.CVE.Metrics.CVSSv31[0].CVSSData.BaseSeverity + } + if len(v.CVE.Metrics.CVSSv30) > 0 { + return v.CVE.Metrics.CVSSv30[0].CVSSData.BaseScore, v.CVE.Metrics.CVSSv30[0].CVSSData.BaseSeverity + } + return 0, "" +} diff --git a/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client_test.go b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client_test.go new file mode 100644 index 00000000..7689e5a5 --- /dev/null +++ b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/nvd_client_test.go @@ -0,0 +1,78 @@ +// ©AngelaMos | 2026 +// nvd_client_test.go + +package cve_test + +import ( + "context" + "net/http" + "net/http/httptest" + "os" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "github.com/carterperez-dev/monitor-the-situation/backend/internal/collectors/cve" +) + +func TestNVDClient_FetchSendsAPIKeyAndDecodes(t *testing.T) { + var sawKey, sawStart, sawEnd string + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + sawKey = r.Header.Get("apiKey") + sawStart = r.URL.Query().Get("lastModStartDate") + sawEnd = r.URL.Query().Get("lastModEndDate") + body, err := os.ReadFile("testdata/nvd_2h_window.json") + require.NoError(t, err) + w.Header().Set("Content-Type", "application/json") + _, _ = w.Write(body) + })) + defer srv.Close() + + c := cve.NewNVDClient(cve.NVDClientConfig{BaseURL: srv.URL, APIKey: "test-key"}) + + end := time.Date(2026, 5, 1, 0, 0, 0, 0, time.UTC) + start := end.Add(-2 * time.Hour) + + resp, err := c.Fetch(context.Background(), start, end) + require.NoError(t, err) + require.NotEmpty(t, resp.Vulnerabilities) + require.Equal(t, "test-key", sawKey) + require.NotEmpty(t, sawStart) + require.NotEmpty(t, sawEnd) +} + +func TestNVDClient_PrimarySeverityFromV31(t *testing.T) { + v := cve.NVDVulnRoot{CVE: cve.NVDCVE{ + ID: "CVE-2026-X", + Metrics: cve.NVDMetrics{ + CVSSv31: []cve.NVDMetricEntry{ + {CVSSData: cve.NVDCVSSData{BaseScore: 9.8, BaseSeverity: "CRITICAL"}}, + }, + }, + }} + score, sev := v.PrimarySeverity() + require.InDelta(t, 9.8, score, 0.0001) + require.Equal(t, "CRITICAL", sev) +} + +func TestNVDClient_PrimarySeverityFallsBackToV30(t *testing.T) { + v := cve.NVDVulnRoot{CVE: cve.NVDCVE{ + ID: "CVE-2018-X", + Metrics: cve.NVDMetrics{ + CVSSv30: []cve.NVDMetricEntry{ + {CVSSData: cve.NVDCVSSData{BaseScore: 7.5, BaseSeverity: "HIGH"}}, + }, + }, + }} + score, sev := v.PrimarySeverity() + require.InDelta(t, 7.5, score, 0.0001) + require.Equal(t, "HIGH", sev) +} + +func TestNVDClient_PrimarySeverityZeroWhenMissing(t *testing.T) { + v := cve.NVDVulnRoot{CVE: cve.NVDCVE{ID: "CVE-X"}} + score, sev := v.PrimarySeverity() + require.Zero(t, score) + require.Empty(t, sev) +} diff --git a/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/testdata/nvd_2h_window.json b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/testdata/nvd_2h_window.json new file mode 100644 index 00000000..965be798 --- /dev/null +++ b/PROJECTS/advanced/monitor-the-situation-dashboard/backend/internal/collectors/cve/testdata/nvd_2h_window.json @@ -0,0 +1 @@ +{"resultsPerPage":9,"startIndex":0,"totalResults":9,"format":"NVD_CVE","version":"2.0","timestamp":"2026-05-02T02:39:09.642","vulnerabilities":[{"cve":{"id":"CVE-2025-54236","sourceIdentifier":"psirt@adobe.com","published":"2025-09-09T14:15:46.563","lastModified":"2026-04-22T19:00:02.080","vulnStatus":"Analyzed","cveTags":[],"descriptions":[{"lang":"en","value":"Adobe Commerce versions 2.4.9-alpha2, 2.4.8-p2, 2.4.7-p7, 2.4.6-p12, 2.4.5-p14, 2.4.4-p15 and earlier are affected by an Improper Input Validation vulnerability. A successful attacker can abuse this to achieve session takeover, increasing the confidentiality, and integrity impact to high. Exploitation of this issue does not require user interaction."}],"metrics":{"cvssMetricV31":[{"source":"psirt@adobe.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}]},"cisaExploitAdd":"2025-10-24","cisaActionDue":"2025-11-14","cisaRequiredAction":"Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.","cisaVulnerabilityName":"Adobe Commerce and?Magento Improper Input Validation Vulnerability","weaknesses":[{"source":"psirt@adobe.com","type":"Secondary","description":[{"lang":"en","value":"CWE-20"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:-:*:*:*:*:*:*","matchCriteriaId":"D258D9EF-94FB-41F0-A7A5-7F66FA7A0055"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p1:*:*:*:*:*:*","matchCriteriaId":"4E5CF6F0-2388-4D3F-8FE1-43B8AF148564"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p10:*:*:*:*:*:*","matchCriteriaId":"1C3D7164-1C5F-40BC-9EEC-B0E00CD45808"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p11:*:*:*:*:*:*","matchCriteriaId":"68AAE162-5957-42AF-BE20-40F341837FAC"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p12:*:*:*:*:*:*","matchCriteriaId":"D9D01159-3309-4F6B-93B0-2D89DDD33DEE"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p13:*:*:*:*:*:*","matchCriteriaId":"91736E79-D8E7-4AF2-8E01-A7B4EB8AD6F4"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p14:*:*:*:*:*:*","matchCriteriaId":"8412C043-64E7-4DFF-A303-13A6FE113BFB"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p15:*:*:*:*:*:*","matchCriteriaId":"BBDA2BCF-E784-4CF3-B30D-6FF5BEE2055F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p2:*:*:*:*:*:*","matchCriteriaId":"D6D6F1A7-ABB5-4EDC-9EA8-98B74518847A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p3:*:*:*:*:*:*","matchCriteriaId":"CFEBDDF2-6443-4482-83B2-3CD272CF599F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p4:*:*:*:*:*:*","matchCriteriaId":"6661093F-8D22-450F-BC6C-A8894A52E6A9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p5:*:*:*:*:*:*","matchCriteriaId":"2515DA6D-2E74-4A05-BD29-FEEF3322BCB6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p6:*:*:*:*:*:*","matchCriteriaId":"69A1F1F7-E53C-40F3-B3D9-DC011FC353BF"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p7:*:*:*:*:*:*","matchCriteriaId":"6A56E96C-6CE5-442C-AA88-F0059B02B5E7"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p8:*:*:*:*:*:*","matchCriteriaId":"8867F510-201C-4199-8554-53DE156CE669"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.4:p9:*:*:*:*:*:*","matchCriteriaId":"23988132-DD4E-4968-B6B8-954122F76081"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:-:*:*:*:*:*:*","matchCriteriaId":"9B07F7B2-E915-4EFF-8FFC-91143CEF082E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p1:*:*:*:*:*:*","matchCriteriaId":"7F5E9DB6-1386-4274-8270-2FE0F0CAF7FD"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p10:*:*:*:*:*:*","matchCriteriaId":"5764CC97-C866-415D-A3A1-5B5B9E1C06A6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p11:*:*:*:*:*:*","matchCriteriaId":"E82D10D8-2894-4E5B-B47B-F00964DD5CDE"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p12:*:*:*:*:*:*","matchCriteriaId":"B044F2D9-E888-4852-8A40-DCE688860ED3"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p13:*:*:*:*:*:*","matchCriteriaId":"6423C754-36F9-4680-9211-60940ED63E79"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p14:*:*:*:*:*:*","matchCriteriaId":"3472064A-8C79-436B-965A-96834AE8D346"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p2:*:*:*:*:*:*","matchCriteriaId":"8605E4E6-0F7D-42C8-B35B-2349A0BEFC69"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p3:*:*:*:*:*:*","matchCriteriaId":"B6318F97-E59A-4425-8DC7-045C78A644F8"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p4:*:*:*:*:*:*","matchCriteriaId":"324A573E-DBC8-42A0-8CB8-EDD8FBAB7115"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p5:*:*:*:*:*:*","matchCriteriaId":"54151A00-CFB8-4E6A-8E74-497CB67BF7E2"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p6:*:*:*:*:*:*","matchCriteriaId":"6DF0E74D-9293-4209-97D1-A3BA13C3DDE9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p7:*:*:*:*:*:*","matchCriteriaId":"8922D646-1A97-47ED-91C6-5A426781C98A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p8:*:*:*:*:*:*","matchCriteriaId":"952787C6-9BF1-49FB-9824-1236678E1902"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.5:p9:*:*:*:*:*:*","matchCriteriaId":"898A8679-3C46-4718-9EDF-583ADDFCF2EC"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:-:*:*:*:*:*:*","matchCriteriaId":"7C7AFBB1-F9C9-4BDE-BCEF-94C9F0AC6798"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p1:*:*:*:*:*:*","matchCriteriaId":"D6086841-C175-46A1-8414-71C6163A0E7A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p10:*:*:*:*:*:*","matchCriteriaId":"E57889CC-3E90-46AF-9CD6-3328DD501AD1"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p11:*:*:*:*:*:*","matchCriteriaId":"47A86566-DE38-4032-947D-B6181F0BC120"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p12:*:*:*:*:*:*","matchCriteriaId":"B7D1D684-CE7E-4D6D-95B5-1F86A8DB6C66"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p2:*:*:*:*:*:*","matchCriteriaId":"D2E0DDD1-0F4A-4F96-B25D-40A39A1A535A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p3:*:*:*:*:*:*","matchCriteriaId":"A576B1B5-73A2-431E-998F-7E5458B51D6A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p4:*:*:*:*:*:*","matchCriteriaId":"0E05F4AC-2A28-47E3-96DE-0E31AF73CD43"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p5:*:*:*:*:*:*","matchCriteriaId":"3A9A62EE-1649-4815-8EC9-7AEF7949EB2F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p6:*:*:*:*:*:*","matchCriteriaId":"E58690F9-FA9C-42A0-B4CD-91FD1197A53E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p7:*:*:*:*:*:*","matchCriteriaId":"77D01D8B-1FBC-43CA-90F9-C89D9B4D18F0"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p8:*:*:*:*:*:*","matchCriteriaId":"8B83729E-80AF-47CE-A70C-32BF83024A40"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.6:p9:*:*:*:*:*:*","matchCriteriaId":"73D22D42-646D-4955-A6F9-9B7BA63DC0A9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:-:*:*:*:*:*:*","matchCriteriaId":"B5D04853-0C2F-47DD-A939-3A8F6E22CB7D"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:b1:*:*:*:*:*:*","matchCriteriaId":"6EBB0608-034B-4F07-A59B-9E6A989BA260"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:b2:*:*:*:*:*:*","matchCriteriaId":"B3BF9B08-84E3-4974-9DEB-F4285995D796"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:beta3:*:*:*:*:*:*","matchCriteriaId":"7771BEDB-05E2-430E-B2A2-E2F7574B7114"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p1:*:*:*:*:*:*","matchCriteriaId":"2E05341A-C70C-4B3D-AF30-9520D6B97D30"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p2:*:*:*:*:*:*","matchCriteriaId":"4D98B52E-3B59-4327-AC7E-DDBB0ADA08F6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p3:*:*:*:*:*:*","matchCriteriaId":"95026AA9-A28B-4D94-BD77-7628429EBA30"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p4:*:*:*:*:*:*","matchCriteriaId":"83FD1220-7D46-42B2-8110-30A934144572"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p5:*:*:*:*:*:*","matchCriteriaId":"3F1439CE-8A3B-414A-B974-559209FF480C"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p6:*:*:*:*:*:*","matchCriteriaId":"13726DEE-FFCB-447B-9FFF-136F132F2C4C"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.7:p7:*:*:*:*:*:*","matchCriteriaId":"1A9443CE-AE1F-4D66-9C88-5E2E3FD28EE6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.8:-:*:*:*:*:*:*","matchCriteriaId":"1EE12F4B-5607-4790-A29B-EE23383BCC1A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.8:beta1:*:*:*:*:*:*","matchCriteriaId":"6D05A958-9749-486A-A149-C21647CDCADF"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.8:beta2:*:*:*:*:*:*","matchCriteriaId":"C9E12B43-AD3E-48A2-9042-5586186CA3BE"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.8:p1:*:*:*:*:*:*","matchCriteriaId":"C267AF14-7BA8-4D1F-BCD9-BE3ED0DA3D25"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.8:p2:*:*:*:*:*:*","matchCriteriaId":"B4947C63-CFD9-437B-A09E-A197DCE40095"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.9:alpha1:*:*:*:*:*:*","matchCriteriaId":"37F32F70-7B2A-4BAB-B3F0-AFF5C04CCDED"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce:2.4.9:alpha2:*:*:*:*:*:*","matchCriteriaId":"8B6B7609-6A8E-4154-BC05-2A9099909684"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:-:*:*:*:*:*:*","matchCriteriaId":"C4667AA3-4CC9-41C0-8E0C-19B0FCE1CF79"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p1:*:*:*:*:*:*","matchCriteriaId":"E396FB4F-B20A-4BF9-8FBD-014A0F197F08"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p10:*:*:*:*:*:*","matchCriteriaId":"2ADE32D1-2845-4030-BE1F-ECE28189D0F9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p11:*:*:*:*:*:*","matchCriteriaId":"F2E771C9-86C4-455C-98D4-6F4FE7A9A822"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p12:*:*:*:*:*:*","matchCriteriaId":"491AB715-F62A-46DB-A56E-055CF7CB7BEF"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p13:*:*:*:*:*:*","matchCriteriaId":"6FE364A8-4780-426F-9E8A-284A31FE2623"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p14:*:*:*:*:*:*","matchCriteriaId":"F9258027-8A6A-4C6A-BC6F-349B6E03D828"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p15:*:*:*:*:*:*","matchCriteriaId":"934C52C7-8751-481E-BAA7-F631C4E31F32"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p2:*:*:*:*:*:*","matchCriteriaId":"5677B7E2-FA07-4536-96A9-2C64BEFD3751"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p3:*:*:*:*:*:*","matchCriteriaId":"2DCD1522-6E27-474F-9FC6-413409D6AD55"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p4:*:*:*:*:*:*","matchCriteriaId":"B7968FCA-CCFD-4222-8FB8-E6E21107944F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p5:*:*:*:*:*:*","matchCriteriaId":"8C175A1F-7814-4C51-A7B7-AD5140F0688F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p6:*:*:*:*:*:*","matchCriteriaId":"E66CBFB3-40C3-474A-A3A3-12135F610814"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p7:*:*:*:*:*:*","matchCriteriaId":"F51DFA17-1875-41A9-B141-D89BB6238B3F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p8:*:*:*:*:*:*","matchCriteriaId":"5A4D10EF-9137-4DF5-A5DD-97907E8B4C02"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.3:p9:*:*:*:*:*:*","matchCriteriaId":"5CD0DC76-7181-4954-A59E-AB7BB47D0576"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:-:*:*:*:*:*:*","matchCriteriaId":"1C90C433-6655-4038-9AB3-0304C1AFF360"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p1:*:*:*:*:*:*","matchCriteriaId":"374E7EDD-512A-4633-A136-01A656935334"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p10:*:*:*:*:*:*","matchCriteriaId":"89BAB227-03E6-4776-ADE4-9D9CB666EFD9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p11:*:*:*:*:*:*","matchCriteriaId":"0E5ACABA-D6D6-4F29-A9DD-5A04A44ABE64"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p12:*:*:*:*:*:*","matchCriteriaId":"FA80AFCE-2663-46C0-AEC0-C16C8E675E6A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p13:*:*:*:*:*:*","matchCriteriaId":"EB9955CA-7E7B-40D3-A85D-58BB0D9AC897"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p14:*:*:*:*:*:*","matchCriteriaId":"5D0A17AC-D433-47C2-A1AC-88291DCCECCD"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p2:*:*:*:*:*:*","matchCriteriaId":"0E9D364A-C858-4160-8B8B-33ECF94796D9"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p3:*:*:*:*:*:*","matchCriteriaId":"61559E50-581E-40FF-9FD4-10192ECFCD04"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p4:*:*:*:*:*:*","matchCriteriaId":"DE3BFB41-5633-4167-B1EA-9E958BCE9DC2"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p5:*:*:*:*:*:*","matchCriteriaId":"F2C525D2-837D-486A-8B38-5634AE2ECE2B"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p6:*:*:*:*:*:*","matchCriteriaId":"6F220229-F2DF-4C9D-90A6-8B09F8BE3391"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p7:*:*:*:*:*:*","matchCriteriaId":"63AB9506-3F8E-4C2E-A859-2380431C15A6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p8:*:*:*:*:*:*","matchCriteriaId":"51B76658-EA6B-4AC9-9D9C-374C5308D069"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.3.4:p9:*:*:*:*:*:*","matchCriteriaId":"6E94B136-7A2C-47F0-BCE4-6BB8E776A305"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:-:*:*:*:*:*:*","matchCriteriaId":"15C638A8-EFE0-47DB-B1F9-34093AF0FC17"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p1:*:*:*:*:*:*","matchCriteriaId":"CB863404-A9D7-4692-AB43-08945E669928"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p2:*:*:*:*:*:*","matchCriteriaId":"D8CFA8F4-D57D-4D0F-88D5-00A72E3AD8DA"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p3:*:*:*:*:*:*","matchCriteriaId":"A21F608C-C356-47B8-8FBB-DB28BABFC4C6"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p4:*:*:*:*:*:*","matchCriteriaId":"E14195F1-5016-46BE-A614-6FB4E312FC93"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p5:*:*:*:*:*:*","matchCriteriaId":"9C360EA8-B18F-4327-90EF-7EED2892BE4F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p6:*:*:*:*:*:*","matchCriteriaId":"500E3A54-D7C7-4887-9EA6-7DF85389A831"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.4.2:p7:*:*:*:*:*:*","matchCriteriaId":"ED6FFC1D-E921-4FF7-9928-015630613FE1"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.5.2:-:*:*:*:*:*:*","matchCriteriaId":"D855D141-7876-4F5A-91BE-6350DD379879"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.5.2:p1:*:*:*:*:*:*","matchCriteriaId":"79CBDF59-EB84-44D3-81CF-5CBF943B411E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.5.2:p2:*:*:*:*:*:*","matchCriteriaId":"2117B163-D88E-4EB4-AEA7-F27FB732BD48"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.5.3:alpha1:*:*:*:*:*:*","matchCriteriaId":"508EE0EF-D54A-4834-84AB-FFC62040FDAB"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:commerce_b2b:1.5.3:alpha2:*:*:*:*:*:*","matchCriteriaId":"4D7C6592-33B0-4586-8178-E8F4EB837B7F"}]}]},{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:-:*:*:open_source:*:*:*","matchCriteriaId":"7A41C717-4B9F-4972-ABA3-2294EEC20F3E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p1:*:*:open_source:*:*:*","matchCriteriaId":"3FA80BBC-2DF2-46E1-84CE-8A899415114E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p10:*:*:open_source:*:*:*","matchCriteriaId":"783E4AF1-52F3-446B-B003-8079EDA78CBF"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p11:*:*:open_source:*:*:*","matchCriteriaId":"08B7898F-E25A-4D16-A007-6D4543E80C58"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p12:*:*:open_source:*:*:*","matchCriteriaId":"313CB0C1-2E8C-46AC-B72B-AFA9E0A6E064"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p13:*:*:open_source:*:*:*","matchCriteriaId":"E99C1F27-68C9-481F-B01D-8B58B0AFB437"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p14:*:*:open_source:*:*:*","matchCriteriaId":"D4A3F4C7-8784-43BD-A11B-E66872DD8812"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p2:*:*:open_source:*:*:*","matchCriteriaId":"510B1840-AE77-4BDD-9C09-26C64CC8FC81"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p3:*:*:open_source:*:*:*","matchCriteriaId":"FA1EDF58-8384-48C4-A584-54D24F6F7973"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p4:*:*:open_source:*:*:*","matchCriteriaId":"9D2D9715-3A6B-4BE0-B1C5-8D19A683A083"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p5:*:*:open_source:*:*:*","matchCriteriaId":"1C99B578-5DD6-476D-BB75-4DCAD7F79535"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p6:*:*:open_source:*:*:*","matchCriteriaId":"7C1B2897-79A5-4A5B-9137-7A4B6B85AA84"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p7:*:*:open_source:*:*:*","matchCriteriaId":"B9E8299D-FA97-483A-8E1B-BA7B869E467D"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p8:*:*:open_source:*:*:*","matchCriteriaId":"9A1B92EC-E83A-43B3-8F14-5C1A52B579B1"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.5:p9:*:*:open_source:*:*:*","matchCriteriaId":"E5F2B6F1-AE8F-4AEE-9AB3-080976AE48B7"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:-:*:*:open_source:*:*:*","matchCriteriaId":"789BD987-9DAD-4EAE-93DE-0E267D54F124"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p1:*:*:open_source:*:*:*","matchCriteriaId":"A3F113C0-00C5-4BC2-B42B-8AE3756252F2"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p10:*:*:open_source:*:*:*","matchCriteriaId":"AE842CC8-7795-4238-B727-0BA2FFFBF62C"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p11:*:*:open_source:*:*:*","matchCriteriaId":"AE724531-422D-4ABB-98F5-2C0B1BBEF031"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p12:*:*:open_source:*:*:*","matchCriteriaId":"BB499397-0E40-45B0-A7E9-BEFCC909DD07"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p2:*:*:open_source:*:*:*","matchCriteriaId":"02592D65-2D2C-460A-A970-8A18F9B156ED"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p3:*:*:open_source:*:*:*","matchCriteriaId":"457B89CF-C75E-4ED6-8603-9C52BA462A9E"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p4:*:*:open_source:*:*:*","matchCriteriaId":"A572A2DC-2DAB-4ABE-8FC2-5AF2340C826F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p5:*:*:open_source:*:*:*","matchCriteriaId":"2A2DD9C6-BAF5-4DF5-9C14-3478923B2019"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p6:*:*:open_source:*:*:*","matchCriteriaId":"BA9CFC70-24CF-4DFA-AEF9-9B5A9DAF837D"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p7:*:*:open_source:*:*:*","matchCriteriaId":"2AA0B806-ABB8-4C18-9F9C-8291BE208F52"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p8:*:*:open_source:*:*:*","matchCriteriaId":"AA9D4DAB-7567-48D7-BE60-2A10B35CFF27"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.6:p9:*:*:open_source:*:*:*","matchCriteriaId":"A91E797D-63F6-4DE8-869C-AF0133DC6C03"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:-:*:*:open_source:*:*:*","matchCriteriaId":"0E06FE04-8844-4409-92D9-4972B47C921B"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:b1:*:*:open_source:*:*:*","matchCriteriaId":"99C620F3-40ED-4D7F-B6A1-205E948FD6F5"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:b2:*:*:open_source:*:*:*","matchCriteriaId":"FBCFE5FB-FAB7-4BF0-90AE-79F9590FD872"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:beta3:*:*:open_source:*:*:*","matchCriteriaId":"7EB4B9C5-513C-4039-8087-5E8880894318"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p1:*:*:open_source:*:*:*","matchCriteriaId":"9C77154A-DBFE-48C3-A274-03075A0DB040"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p2:*:*:open_source:*:*:*","matchCriteriaId":"F5AAC414-623C-444F-9BD5-EE0ACE2B2246"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p3:*:*:open_source:*:*:*","matchCriteriaId":"8292888D-B0B0-4DF3-8719-EA4CDCAB39D1"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p4:*:*:open_source:*:*:*","matchCriteriaId":"9830E074-FDCF-41E9-98C7-10C20424EF4C"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p5:*:*:open_source:*:*:*","matchCriteriaId":"9D0C8648-B39E-47C7-AA5C-3AFED22F8D40"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p6:*:*:open_source:*:*:*","matchCriteriaId":"082F8B60-ECC5-4C55-BBFE-A0C8A3E95590"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.7:p7:*:*:open_source:*:*:*","matchCriteriaId":"A7B83AD4-3134-414A-80E3-106C3C0F975A"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.8:-:*:*:open_source:*:*:*","matchCriteriaId":"00E8284F-10CD-449C-AEF1-688B8287292F"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.8:beta1:*:*:open_source:*:*:*","matchCriteriaId":"59C10C74-FDB1-46EC-8F41-F3AC24AEFB7D"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.8:beta2:*:*:open_source:*:*:*","matchCriteriaId":"2957B390-52C5-48D7-A6D7-709BC76B9C69"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.8:p1:*:*:open_source:*:*:*","matchCriteriaId":"524F64B6-F7F7-4926-884F-E9448636007C"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.8:p2:*:*:open_source:*:*:*","matchCriteriaId":"9F56F919-69B6-4A77-B8CE-F13409542F14"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.9:alpha1:*:*:open_source:*:*:*","matchCriteriaId":"E34849F7-54EE-4E4C-9184-3DE9C30E12AA"},{"vulnerable":true,"criteria":"cpe:2.3:a:adobe:magento:2.4.9:alpha2:*:*:open_source:*:*:*","matchCriteriaId":"4E21DFF0-9F15-44D2-B78A-097BF3ACD752"}]}]}],"references":[{"url":"https://helpx.adobe.com/security/products/magento/apsb25-88.html","source":"psirt@adobe.com","tags":["Vendor Advisory"]},{"url":"https://experienceleague.adobe.com/en/docs/experience-cloud-kcs/kbarticles/ka-27397","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["Vendor Advisory"]},{"url":"https://nullsecurityx.codes/cve-2025-54236-sessionreaper-unauthenticated-rce-in-magento","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["Broken Link","Exploit","Third Party Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-54236","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["US Government Resource"]}]}},{"cve":{"id":"CVE-2026-39804","sourceIdentifier":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","published":"2026-05-01T21:16:16.853","lastModified":"2026-05-02T02:16:00.013","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion when WebSocket permessage-deflate compression is enabled.\n\n'Elixir.Bandit.WebSocket.PerMessageDeflate':inflate/2 in lib/bandit/websocket/permessage_deflate.ex calls :zlib.inflate/2 with no output-size cap, then materializes the entire decompressed payload as a single binary via IO.iodata_to_binary/1. The websocket_options.max_frame_size option only bounds the on-the-wire (compressed) frame size, not the decompressed output. A high-ratio compressed frame (e.g. uniform data at ~1024:1 ratio) can stay well under any wire-size limit while forcing GiB-scale heap allocations in the connection process before any application code runs.\n\nAn unauthenticated attacker who can open a WebSocket connection can send a single such frame to exhaust the BEAM node's memory and trigger an OOM kill.\n\nThis vulnerability requires both Bandit's server-level websocket_options.compress and the per-upgrade compress: true option passed to WebSockAdapter.upgrade/4 to be enabled. Stock Phoenix and LiveView applications are not affected as they default to compress: false.\n\nThis issue affects bandit: from 0.5.9 before 1.11.0."}],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":8.2,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"weaknesses":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","description":[{"lang":"en","value":"CWE-770"}]}],"references":[{"url":"https://cna.erlef.org/cves/CVE-2026-39804.html","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/commit/8156921a51e684a951221da7bc30a70a022f722e","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-frh3-6pv6-rc8j","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-39804","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-frh3-6pv6-rc8j","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-39805","sourceIdentifier":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","published":"2026-05-01T21:16:17.037","lastModified":"2026-05-02T02:16:00.180","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"Inconsistent Interpretation of HTTP Requests vulnerability in mtrudel bandit allows HTTP request smuggling via duplicate Content-Length headers.\n\n'Elixir.Bandit.Headers':get_content_length/1 in lib/bandit/headers.ex uses List.keyfind/3, which returns only the first matching header. When a request contains two Content-Length headers with different values, Bandit silently accepts it, uses the first value to read the body, and dispatches the remaining bytes as a second pipelined request on the same keep-alive connection. RFC 9112 §6.3 requires recipients to treat this as an unrecoverable framing error.\n\nWhen Bandit sits behind a proxy that picks the last Content-Length value and forwards the request rather than rejecting it, an unauthenticated attacker can smuggle requests past edge WAF rules, path-based ACLs, rate limiting, and audit logging.\n\nThis issue affects bandit: before 1.11.0."}],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"weaknesses":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","description":[{"lang":"en","value":"CWE-444"}]}],"references":[{"url":"https://cna.erlef.org/cves/CVE-2026-39805.html","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/commit/f2ca636eb6df385219957e8934e9fc6efa1630d1","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-c67r-gc9j-2qf7","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-39805","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-c67r-gc9j-2qf7","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-39807","sourceIdentifier":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","published":"2026-05-01T21:16:17.180","lastModified":"2026-05-02T02:16:00.320","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"Reliance on Untrusted Inputs in a Security Decision vulnerability in mtrudel bandit allows unauthenticated transport-state spoofing on plaintext HTTP connections.\n\n'Elixir.Bandit.Pipeline':determine_scheme/2 in lib/bandit/pipeline.ex returns the client-supplied URI scheme verbatim, ignoring the transport's secure? flag. HTTP/1.1 absolute-form request targets (e.g. GET https://victim/path HTTP/1.1) and the HTTP/2 :scheme pseudo-header are both attacker-controlled strings that flow through this function. Over a plaintext TCP connection, a client can declare https and Bandit will set conn.scheme = :https even though no TLS was negotiated.\n\nDownstream Plug consumers that branch on conn.scheme are silently misled: Plug.SSL's already-secure branch skips its HTTP→HTTPS redirect, cookies emitted with secure: true are sent over plaintext, audit logs record requests as having arrived over HTTPS, and CSRF/SameSite gating may make incorrect decisions.\n\nThis issue affects bandit: from 1.0.0 before 1.11.0."}],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"weaknesses":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","description":[{"lang":"en","value":"CWE-807"}]}],"references":[{"url":"https://cna.erlef.org/cves/CVE-2026-39807.html","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/commit/45feea20dea8af7ffd7245271107b695c040e667","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-39807","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-375f-4r2h-f99j","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-42786","sourceIdentifier":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","published":"2026-05-01T21:16:17.347","lastModified":"2026-05-02T02:16:00.467","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion.\n\nThe fragment reassembly path in 'Elixir.Bandit.WebSocket.Connection':handle_frame/3 in lib/bandit/websocket/connection.ex appends every incoming Continuation{fin: false} frame's payload to a per-connection iolist with no cumulative size cap. The existing max_frame_size option only bounds individual frames; a peer that streams an unbounded number of continuation frames without ever setting fin=1 grows BEAM heap linearly until the OS or a supervisor kills the process.\n\nBecause the accumulation happens before WebSock.handle_in/2 is called, the application has no opportunity to interpose a size check. Phoenix Channels and LiveView both run over WebSock on Bandit, so a stock Phoenix application exposes this surface as soon as it accepts socket connections.\n\nThis issue affects bandit: from 0.5.0 before 1.11.0."}],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":8.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"weaknesses":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","description":[{"lang":"en","value":"CWE-770"}]}],"references":[{"url":"https://cna.erlef.org/cves/CVE-2026-42786.html","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/commit/21612c7c7b1ce43eccd36d3af3a2299d23513667","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-pf94-94m9-536p","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-42786","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-pf94-94m9-536p","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-42788","sourceIdentifier":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","published":"2026-05-01T21:16:17.500","lastModified":"2026-05-02T02:16:00.610","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated memory exhaustion via oversized HTTP/2 frames.\n\n'Elixir.Bandit.HTTP2.Frame':deserialize/2 in lib/bandit/http2/frame.ex checks the SETTINGS_MAX_FRAME_SIZE limit only after pattern-matching payload::binary-size(length), which requires the entire frame body to be present in memory before either the accept or reject clause can fire. A peer that announces a frame length up to the 24-bit maximum (~16 MiB) causes the server to buffer that entire body before the size guard is evaluated, regardless of the max_frame_size negotiated during the HTTP/2 handshake (default 16 KiB per RFC 9113).\n\nAn unauthenticated attacker holding many concurrent connections can force the server to buffer far more memory than the negotiated frame size limit should permit, leading to memory pressure and potential denial of service.\n\nThis issue affects bandit: from 0.3.6 before 1.11.0."}],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"LOW","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"weaknesses":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","description":[{"lang":"en","value":"CWE-770"}]}],"references":[{"url":"https://cna.erlef.org/cves/CVE-2026-42788.html","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/commit/1e8e55966da9129016b73d32f0e1df4630e3b463","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-q6v9-r226-v65f","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-42788","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/mtrudel/bandit/security/advisories/GHSA-q6v9-r226-v65f","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-7596","sourceIdentifier":"cna@vuldb.com","published":"2026-05-01T21:16:18.300","lastModified":"2026-05-02T02:16:00.947","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"A vulnerability has been found in nextlevelbuilder ui-ux-pro-max-skill up to 2.5.0. Affected by this issue is the function data.get of the file .claude/skills/design-system/scripts/generate-slide.py of the component Slide Generator. Such manipulation leads to cross site scripting. The attack may be performed from remote. The exploit has been disclosed to the public and may be used. The project was informed of the problem early through a pull request but has not reacted yet."}],"metrics":{"cvssMetricV40":[{"source":"cna@vuldb.com","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":2.1,"baseSeverity":"LOW","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"PROOF_OF_CONCEPT","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"cna@vuldb.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","baseScore":4.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":1.4}],"cvssMetricV2":[{"source":"cna@vuldb.com","type":"Secondary","cvssData":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:P/A:N","baseScore":5.0,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE"},"baseSeverity":"MEDIUM","exploitabilityScore":10.0,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}]},"weaknesses":[{"source":"cna@vuldb.com","type":"Secondary","description":[{"lang":"en","value":"CWE-79"},{"lang":"en","value":"CWE-94"}]}],"references":[{"url":"https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/","source":"cna@vuldb.com"},{"url":"https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/issues/247","source":"cna@vuldb.com"},{"url":"https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/pull/274","source":"cna@vuldb.com"},{"url":"https://vuldb.com/submit/805510","source":"cna@vuldb.com"},{"url":"https://vuldb.com/vuln/360549","source":"cna@vuldb.com"},{"url":"https://vuldb.com/vuln/360549/cti","source":"cna@vuldb.com"},{"url":"https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/issues/247","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}},{"cve":{"id":"CVE-2026-7600","sourceIdentifier":"cna@vuldb.com","published":"2026-05-02T01:16:00.903","lastModified":"2026-05-02T01:16:00.903","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"A flaw has been found in ArtMin96 yii2-mcp-server 1.0.2. This impacts the function yii_command_help/yii_execute_command of the file src/index.ts of the component MCP Interface. Executing a manipulation can lead to os command injection. The attack can be executed remotely. The exploit has been published and may be used. The project was informed of the problem early through an issue report but has not responded yet."}],"metrics":{"cvssMetricV40":[{"source":"cna@vuldb.com","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":2.1,"baseSeverity":"LOW","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"LOW","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"PROOF_OF_CONCEPT","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"cna@vuldb.com","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","baseScore":6.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"LOW"},"exploitabilityScore":2.8,"impactScore":3.4}],"cvssMetricV2":[{"source":"cna@vuldb.com","type":"Secondary","cvssData":{"version":"2.0","vectorString":"AV:N/AC:L/Au:S/C:P/I:P/A:P","baseScore":6.5,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"SINGLE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL"},"baseSeverity":"MEDIUM","exploitabilityScore":8.0,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}]},"weaknesses":[{"source":"cna@vuldb.com","type":"Primary","description":[{"lang":"en","value":"CWE-77"},{"lang":"en","value":"CWE-78"}]}],"references":[{"url":"https://github.com/ArtMin96/yii2-mcp-server/","source":"cna@vuldb.com"},{"url":"https://github.com/ArtMin96/yii2-mcp-server/issues/3","source":"cna@vuldb.com"},{"url":"https://github.com/BruceJqs/public_exp/issues/29","source":"cna@vuldb.com"},{"url":"https://vuldb.com/submit/805613","source":"cna@vuldb.com"},{"url":"https://vuldb.com/vuln/360557","source":"cna@vuldb.com"},{"url":"https://vuldb.com/vuln/360557/cti","source":"cna@vuldb.com"}]}},{"cve":{"id":"CVE-2026-43824","sourceIdentifier":"cve@mitre.org","published":"2026-05-02T02:16:00.747","lastModified":"2026-05-02T02:16:00.747","vulnStatus":"Received","cveTags":[],"descriptions":[{"lang":"en","value":"In Argo CD 3.2.0 before 3.2.11 and 3.3.0 before 3.3.9, ServerSideDiff allows reading cleartext Kubernetes Secret data."}],"metrics":{"cvssMetricV31":[{"source":"cve@mitre.org","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","baseScore":7.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.1,"impactScore":4.0}]},"weaknesses":[{"source":"cve@mitre.org","type":"Primary","description":[{"lang":"en","value":"CWE-212"}]}],"references":[{"url":"https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3","source":"cve@mitre.org"}]}}]}