Skip to content
Heist/ feed
Back to feed
Medium

Apache Camel: Camel-Shiro Authentication Bypass via Skipped Credential Verification on Subject Reuse

Type: advisorySources: OSV

Improper Authentication vulnerability in Apache Camel Shiro component. This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1. The Shiro security processor skipped credential verification when the subject already bound to the current thread carried the same principal as the incoming exchange. Because the thread that carries a Camel exchange is drawn from a pool and reused across exchanges, a subject left bound by an earlier authenticated exchange could satisfy the check for a later one that presented no valid credentials of its own. The password on the incoming exchange was, in that case, never verified. The condition depends on thread reuse and on the principal matching, which is why it is not reached on every request, but it requires nothing of the attacker beyond sending a request naming a principal that is in active use. Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The processor now verifies the presented credentials on every exchange rather than accepting a subject already bound to the thread. Setting alwaysReauthenticate=false restores the previous behaviour for deployments that depend on it. For deployments that cannot upgrade immediately, ensure the Shiro subject is cleared from the thread at the end of every exchange so that no subject can be inherited by a later one.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-84181
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 18:05 UTC · Revision 1

Source evidence

Apache Camel: Camel-Shiro Authentication Bypass via Skipped Credential Verification on Subject Reuse

core-osv · Original source

Published 19 Oct 2026, 10:31 UTC

Improper Authentication vulnerability in Apache Camel Shiro component. This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1. The Shiro security processor skipped credential verification when the subject already bound to the current thread carried the same principal as the incoming exchange. Because the thread that carries a Camel exchange is drawn from a pool and reused across exchanges, a subject left bound by an earlier authenticated exchange could satisfy the check for a later one that presented no valid credentials of its own. The password on the incoming exchange was, in that case, never verified. The condition depends on thread reuse and on the principal matching, which is why it is not reached on every request, but it requires nothing of the attacker beyond sending a request naming a principal that is in active use. Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The processor now verifies the presented credentials on every exchange rather than accepting a subject already bound to the thread. Setting alwaysReauthenticate=false restores the previous behaviour for deployments that depend on it. For deployments that cannot upgrade immediately, ensure the Shiro subject is cleared from the thread at the end of every exchange so that no subject can be inherited by a later one.

osv:CVE-2026-84181
Complete source record
{
  "id": "4627a72c6f296b8ee81ac0ca3c3f587c7c877d48e815d3e15205cc9fa92b76fa",
  "url": "https://osv.dev/vulnerability/CVE-2026-84181",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apache Camel: Camel-Shiro Authentication Bypass via Skipped Credential Verification on Subject Reuse",
    "summary": "Improper Authentication vulnerability in Apache Camel Shiro component. This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1. The Shiro security processor skipped credential verification when the subject already bound to the current thread carried the same principal as the incoming exchange. Because the thread that carries a Camel exchange is drawn from a pool and reused across exchanges, a subject left bound by an earlier authenticated exchange could satisfy the check for a later one that presented no valid credentials of its own. The password on the incoming exchange was, in that case, never verified. The condition depends on thread reuse and on the principal matching, which is why it is not reached on every request, but it requires nothing of the attacker beyond sending a request naming a principal that is in active use. Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The processor now verifies the presented credentials on every exchange rather than accepting a subject already bound to the thread. Setting alwaysReauthenticate=false restores the previous behaviour for deployments that depend on it. For deployments that cannot upgrade immediately, ensure the Shiro subject is cleared from the thread at the end of every exchange so that no subject can be inherited by a later one.",
    "evidence": "osv:CVE-2026-84181",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-84181",
      "aliases": [
        "CVE-2026-84181"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/camel",
              "type": "GIT",
              "events": [
                {
                  "introduced": "8d135894cd73970c82da5da0dc71ecc7f5521ad5"
                },
                {
                  "fixed": "2a16fcefbc5e4512a80180fae12c1f0f9ca0dff0"
                },
                {
                  "introduced": "3e9f3011ad48de66fef582ade9794c7340c23af7"
                },
                {
                  "fixed": "c056bef67cdfeffdc0ad7255e5e052cab71f2921"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "4.0.0"
                      },
                      {
                        "fixed": "4.18.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "4.19.0"
                      },
                      {
                        "fixed": "4.22.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-84181.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.015630152Z",
      "provider": "osv",
      "references": [
        "https://repo.maven.apache.org/maven2",
        "https://camel.apache.org/security/CVE-2026-84181.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84181.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-84181",
        "https://issues.apache.org/jira/browse/CAMEL-24439",
        "https://github.com/apache/camel/pull/25822",
        "https://github.com/apache/camel/pull/25944",
        "https://github.com/apache/camel/pull/25946"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-287"
        ],
        "cna_assigner": "apache",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/84xxx/CVE-2026-84181.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-84181",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 498197,
  "published_at": "2026-10-19T10:31:41.671+00:00"
}