CVE-2026-107336 (GCVE-0-2026-107336)

Vulnerability from cvelistv5 – Published: 2026-10-08 17:20 – Updated: 2026-10-08 19:07
VLAI
Title
Authentication Bypass by Spoofing in Malcolm
Summary
Malcolm's front nginx reverse proxy defines a "Dashboards → Arkime shortcut" location using a case-insensitive regex matcher but a case-sensitive rewrite. A request whose path segment is not exact-lowercase (for example /IDDASH2ARK/...) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location's proxy_pass to the Arkime backend. That location is the one proxied location in the shipped config that does not include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a client-supplied X-Forwarded-User header un-overwritten, and Arkime is configured to trust X-Forwarded-User as the authenticated username — so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity.
SSVC
Exploitation: none Automatable: yes Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-08 19:07 UTC
CWE
  • CWE-290 - Authentication bypass by spoofing
  • CWE-441 - Unintended Proxy or Intermediary
  • CWE-863 - Incorrect Authorization
Assigner
icscert CNA under the icscert root
CNA scorecard C 75/100 over 352 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
CISA Malcolm Affected: 0 , ≤ 26.07.1 (custom)
Unaffected: 26.08.0
guessed Create a notification for this product.
Date Public
2026-10-07 19:02
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-107336",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "yes"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-08T19:07:14.526487Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-10-08T19:07:23.845Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Malcolm",
          "vendor": "CISA",
          "versions": [
            {
              "lessThanOrEqual": "26.07.1",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            },
            {
              "status": "unaffected",
              "version": "26.08.0"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Seth Grover"
        }
      ],
      "datePublic": "2026-10-07T19:02:00.000Z",
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Malcolm\u0027s front nginx reverse proxy defines a \"Dashboards \u2192 Arkime shortcut\" location using a \u003cstrong\u003ecase-insensitive\u003c/strong\u003e regex matcher but a \u003cstrong\u003ecase-sensitive\u003c/strong\u003e \u003ccode\u003erewrite\u003c/code\u003e. A request whose path segment is not exact-lowercase (for example \u003ccode\u003e/IDDASH2ARK/...\u003c/code\u003e) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location\u0027s \u003ccode\u003eproxy_pass\u003c/code\u003e to the Arkime backend. That location is the one proxied location in the shipped config that does \u003cstrong\u003enot\u003c/strong\u003e include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a \u003cstrong\u003eclient-supplied \u003ccode\u003eX-Forwarded-User\u003c/code\u003e header un-overwritten\u003c/strong\u003e, and Arkime is configured to trust \u003ccode\u003eX-Forwarded-User\u003c/code\u003e as the authenticated username \u2014 so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity."
            }
          ],
          "value": "Malcolm\u0027s front nginx reverse proxy defines a \"Dashboards \u2192 Arkime shortcut\" location using a case-insensitive regex matcher but a case-sensitive rewrite. A request whose path segment is not exact-lowercase (for example /IDDASH2ARK/...) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location\u0027s proxy_pass to the Arkime backend. That location is the one proxied location in the shipped config that does not include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a client-supplied X-Forwarded-User header un-overwritten, and Arkime is configured to trust X-Forwarded-User as the authenticated username \u2014 so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-290",
              "description": "CWE-290 Authentication bypass by spoofing",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-441",
              "description": "CWE-441 Unintended Proxy or Intermediary",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-863",
              "description": "CWE-863 Incorrect Authorization",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-08T17:20:46.517Z",
        "orgId": "7d14cffa-0d7d-4270-9dc0-52cabd5a23a6",
        "shortName": "icscert"
      },
      "references": [
        {
          "tags": [
            "government-resource"
          ],
          "url": "https://github.com/cisagov/Malcolm/security/advisories/GHSA-7j32-cf27-cp6h"
        },
        {
          "url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-280-01.json"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "Update to version v26.08.0"
            }
          ],
          "value": "Update to version v26.08.0"
        }
      ],
      "source": {
        "discovery": "INTERNAL"
      },
      "title": "Authentication Bypass by Spoofing in Malcolm",
      "x_generator": {
        "engine": "Vulnogram 1.0.5"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "7d14cffa-0d7d-4270-9dc0-52cabd5a23a6",
    "assignerShortName": "icscert",
    "cveId": "CVE-2026-107336",
    "datePublished": "2026-10-08T17:20:46.517Z",
    "dateReserved": "2026-10-07T18:31:15.966Z",
    "dateUpdated": "2026-10-08T19:07:23.845Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-107336",
      "date": "2026-10-09",
      "epss": "0.00241",
      "percentile": "0.14042"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Malcolm",
                "vendor": "CISA",
                "versions": [
                  {
                    "lessThanOrEqual": "26.07.1",
                    "status": "affected",
                    "version": "0",
                    "versionType": "custom"
                  },
                  {
                    "status": "unaffected",
                    "version": "26.08.0"
                  }
                ]
              }
            ],
            "source": "ics-cert@hq.dhs.gov"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "Malcolm\u0027s front nginx reverse proxy defines a \"Dashboards \u2192 Arkime shortcut\" location using a case-insensitive regex matcher but a case-sensitive rewrite. A request whose path segment is not exact-lowercase (for example /IDDASH2ARK/...) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location\u0027s proxy_pass to the Arkime backend. That location is the one proxied location in the shipped config that does not include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a client-supplied X-Forwarded-User header un-overwritten, and Arkime is configured to trust X-Forwarded-User as the authenticated username \u2014 so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity."
          }
        ],
        "id": "CVE-2026-107336",
        "lastModified": "2026-10-08T21:03:43.847",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 2.5,
              "source": "ics-cert@hq.dhs.gov",
              "type": "Secondary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2026-107336",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "yes"
                  },
                  {
                    "technicalImpact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-10-08T19:07:14.526487Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2026-10-08T18:17:20.177",
        "references": [
          {
            "source": "ics-cert@hq.dhs.gov",
            "url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-280-01.json"
          },
          {
            "source": "ics-cert@hq.dhs.gov",
            "url": "https://github.com/cisagov/Malcolm/security/advisories/GHSA-7j32-cf27-cp6h"
          }
        ],
        "sourceIdentifier": "ics-cert@hq.dhs.gov",
        "vulnStatus": "Awaiting Analysis",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-290"
              },
              {
                "lang": "en",
                "value": "CWE-441"
              },
              {
                "lang": "en",
                "value": "CWE-863"
              }
            ],
            "source": "ics-cert@hq.dhs.gov",
            "type": "Secondary"
          }
        ]
      }
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-107336",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-10-08T19:07:14.526487Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-10-08T19:07:19.471Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Malcolm",
              "vendor": "CISA",
              "versions": [
                {
                  "lessThanOrEqual": "26.07.1",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                },
                {
                  "status": "unaffected",
                  "version": "26.08.0"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Seth Grover"
            }
          ],
          "datePublic": "2026-10-07T19:02:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Malcolm\u0027s front nginx reverse proxy defines a \"Dashboards \u2192 Arkime shortcut\" location using a \u003cstrong\u003ecase-insensitive\u003c/strong\u003e regex matcher but a \u003cstrong\u003ecase-sensitive\u003c/strong\u003e \u003ccode\u003erewrite\u003c/code\u003e. A request whose path segment is not exact-lowercase (for example \u003ccode\u003e/IDDASH2ARK/...\u003c/code\u003e) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location\u0027s \u003ccode\u003eproxy_pass\u003c/code\u003e to the Arkime backend. That location is the one proxied location in the shipped config that does \u003cstrong\u003enot\u003c/strong\u003e include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a \u003cstrong\u003eclient-supplied \u003ccode\u003eX-Forwarded-User\u003c/code\u003e header un-overwritten\u003c/strong\u003e, and Arkime is configured to trust \u003ccode\u003eX-Forwarded-User\u003c/code\u003e as the authenticated username \u2014 so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity."
                }
              ],
              "value": "Malcolm\u0027s front nginx reverse proxy defines a \"Dashboards \u2192 Arkime shortcut\" location using a case-insensitive regex matcher but a case-sensitive rewrite. A request whose path segment is not exact-lowercase (for example /IDDASH2ARK/...) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location\u0027s proxy_pass to the Arkime backend. That location is the one proxied location in the shipped config that does not include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a client-supplied X-Forwarded-User header un-overwritten, and Arkime is configured to trust X-Forwarded-User as the authenticated username \u2014 so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-290",
                  "description": "CWE-290 Authentication bypass by spoofing",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-441",
                  "description": "CWE-441 Unintended Proxy or Intermediary",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863 Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-08T17:20:46.517Z",
            "orgId": "7d14cffa-0d7d-4270-9dc0-52cabd5a23a6",
            "shortName": "icscert"
          },
          "references": [
            {
              "tags": [
                "government-resource"
              ],
              "url": "https://github.com/cisagov/Malcolm/security/advisories/GHSA-7j32-cf27-cp6h"
            },
            {
              "url": "https://github.com/cisagov/CSAF/blob/develop/csaf_files/OT/white/2026/icsa-26-280-01.json"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Update to version v26.08.0"
                }
              ],
              "value": "Update to version v26.08.0"
            }
          ],
          "source": {
            "discovery": "INTERNAL"
          },
          "title": "Authentication Bypass by Spoofing in Malcolm",
          "x_generator": {
            "engine": "Vulnogram 1.0.5"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "7d14cffa-0d7d-4270-9dc0-52cabd5a23a6",
        "assignerShortName": "icscert",
        "cveId": "CVE-2026-107336",
        "datePublished": "2026-10-08T17:20:46.517Z",
        "dateReserved": "2026-10-07T18:31:15.966Z",
        "dateUpdated": "2026-10-08T19:07:23.845Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…