{
  "@id": "urn:uuid:c179fc61-4aaf-4840-a7f8-331234d78ddf",
  "role": "Document Creator",
  "author": "https://tuxcare.com",
  "version": 39,
  "@context": "https://openvex.dev/ns/v0.2.0",
  "timestamp": "2026-11-06T18:18:00.046080+00:00",
  "statements": [
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-11-03T12:43:21.485909+00:00",
      "status_notes": "Vulnerability CVE-2021-22112 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. Spring Security 6.3.10 is NOT affected by CVE-2021-22112. The vulnerability fix was already included in the upstream Spring Security release. The fix (commit 3116369f02, January 2021) introduced the `isSaveContextInvoked` flag that ensures the final SecurityContext state is properly saved when the context is changed multiple times in a single request. This upstream fix predates the TuxCare initial setup commit (304f400bbf, April 2026) by over 5 years, confirming it shipped in the base upstream release.\n\nAdvisory cross-check (dlmn): outside the affected ranges of GitHub (>= 5.4.0, < 5.4.4; >= 5.3.0, < 5.3.8; < 5.2.9; >= 5.4.0, < 5.4.4; >= 5.3.0, < 5.3.8; < 5.2.9), NVD (< 5.2.9; >= 5.3.0, < 5.3.8; >= 5.4.0, < 5.4.4), cve.org (>= 5.4, < 5.4.4; >= 5.3, < 5.3.8.RELEASE; >= 5.2, < 5.2.9.RELEASE), Snyk (>= 5.4.0, < 5.4.4; >= 5.3.0.RELEASE, < 5.3.8.RELEASE; < 5.2.9.RELEASE).",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2021-22112"
      },
      "impact_statement": "Spring Security 6.3.10 is NOT affected by CVE-2021-22112. The vulnerability fix was already included in the upstream Spring Security release. The fix (commit 3116369f02, January 2021) introduced the `isSaveContextInvoked` flag that ensures the final SecurityContext state is properly saved when the context is changed multiple times in a single request. This upstream fix predates the TuxCare initial setup commit (304f400bbf, April 2026) by over 5 years, confirming it shipped in the base upstream release.\n\nAdvisory cross-check (dlmn): outside the affected ranges of GitHub (>= 5.4.0, < 5.4.4; >= 5.3.0, < 5.3.8; < 5.2.9; >= 5.4.0, < 5.4.4; >= 5.3.0, < 5.3.8; < 5.2.9), NVD (< 5.2.9; >= 5.3.0, < 5.3.8; >= 5.4.0, < 5.4.4), cve.org (>= 5.4, < 5.4.4; >= 5.3, < 5.3.8.RELEASE; >= 5.2, < 5.2.9.RELEASE), Snyk (>= 5.4.0, < 5.4.4; >= 5.3.0.RELEASE, < 5.3.8.RELEASE; < 5.2.9.RELEASE)."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-11-03T12:18:14.184922+00:00",
      "status_notes": "Vulnerability CVE-2022-22978 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. CVE-2022-22978 affects Spring Security's RegexRequestMatcher when the DEFAULT Pattern flag is 0, allowing authorization bypass via line terminators (\\n, \\r) in request paths. The target (Spring Security 6.3.10-tuxcare.21) already contains the upstream fix: DEFAULT = Pattern.DOTALL at RegexRequestMatcher.java:46. This fix was authored by Rob Winch (rwinch@users.noreply.github.com) in commit c6461d61ba (May 2022) and shipped in the upstream 6.3.10 release (ae1537b409, June 2025) before TuxCare onboarded it. The vulnerable pattern is not present.\n\nAdvisory cross-check (dlmn): outside the affected ranges of GitHub (>= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4; < 5.4.11; >= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4; < 5.4.11), NVD (< 5.5.7; >= 5.6.0, < 5.6.4), cve.org (>= 5.4, < 5.4.11; >= 5.5, < 5.5.7; >= 5.6, < 5.6.4), Snyk (< 5.4.11; >= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4).",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2022-22978"
      },
      "impact_statement": "CVE-2022-22978 affects Spring Security's RegexRequestMatcher when the DEFAULT Pattern flag is 0, allowing authorization bypass via line terminators (\\n, \\r) in request paths. The target (Spring Security 6.3.10-tuxcare.21) already contains the upstream fix: DEFAULT = Pattern.DOTALL at RegexRequestMatcher.java:46. This fix was authored by Rob Winch (rwinch@users.noreply.github.com) in commit c6461d61ba (May 2022) and shipped in the upstream 6.3.10 release (ae1537b409, June 2025) before TuxCare onboarded it. The vulnerable pattern is not present.\n\nAdvisory cross-check (dlmn): outside the affected ranges of GitHub (>= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4; < 5.4.11; >= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4; < 5.4.11), NVD (< 5.5.7; >= 5.6.0, < 5.6.4), cve.org (>= 5.4, < 5.4.11; >= 5.5, < 5.5.7; >= 5.6, < 5.6.4), Snyk (< 5.4.11; >= 5.5.0, < 5.5.7; >= 5.6.0, < 5.6.4)."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-11-06T18:18:00.046080+00:00",
      "status_notes": "Vulnerability CVE-2024-38821 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. Prechecker: No vulnerable code from the fix was found, and every line the fix adds is already in this version. The upstream fix was released in 6.3.4, and version 6.3.10 is a later release of the same line. Advisories: GitHub GHSA-c4q5-6c82-3qpw (fixed in 6.3.4), CVE record (fixed in 6.3.4), Snyk (fixed in 6.3.4).",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2024-38821"
      },
      "impact_statement": "Prechecker: No vulnerable code from the fix was found, and every line the fix adds is already in this version. The upstream fix was released in 6.3.4, and version 6.3.10 is a later release of the same line. Advisories: GitHub GHSA-c4q5-6c82-3qpw (fixed in 6.3.4), CVE record (fixed in 6.3.4), Snyk (fixed in 6.3.4)."
    },
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-22732 is fixed in version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web.",
      "vulnerability": {
        "name": "CVE-2026-22732"
      }
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-22747 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. CVE-2026-22747 only affects Spring Security 7.0.0-7.0.4 per spring.io advisory. The vulnerable class SubjectX500PrincipalExtractor does not exist in version 6.3.10; only the legacy SubjectDnX509PrincipalExtractor is present, which the advisory explicitly excludes from scope. Verified via manual code inspection.",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-22747"
      },
      "impact_statement": "CVE-2026-22747 only affects Spring Security 7.0.0-7.0.4 per spring.io advisory. The vulnerable class SubjectX500PrincipalExtractor does not exist in version 6.3.10; only the legacy SubjectDnX509PrincipalExtractor is present, which the advisory explicitly excludes from scope. Verified via manual code inspection."
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-22754 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. According to security advisories CVE-2026-22754 does not affect Spring-Security versions earlier than 7.0.0. This is supported by manual code inspection and proof-of-concept tests ported from the upstream fix commit. CVE-2026-22754 is an access-control bypass caused by PathPatternRequestMatcherFactoryBean.afterPropertiesSet() calling this.builder.basePath(this.basePath) and discarding the return value \u2014 PathPatternRequestMatcher.Builder is immutable/copy-on-modify, so the configured basePath was silently dropped and protected URLs (e.g., /spring/path) were left unmatched by the security filter chain. The vulnerability requires two pieces of infrastructure introduced in Spring Security 7.0.0: 1. The PathPatternRequestMatcher.Builder API (added in upstream commit 3e53cc2c4a, \"Use PathPatternRequestMatcher in config\"). 2. The PathPatternRequestMatcherFactoryBean class itself \u2014 the exact file patched by upstream commit 53bcf0d1 (the CVE fix). Neither piece exists in version 6.3.10. The upstream POC tests (RegexMatcher, CiRegexMatcher + AuthorizationManager variants) were ported verbatim and pass.",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-22754"
      },
      "impact_statement": "According to security advisories CVE-2026-22754 does not affect Spring-Security versions earlier than 7.0.0. This is supported by manual code inspection and proof-of-concept tests ported from the upstream fix commit. CVE-2026-22754 is an access-control bypass caused by PathPatternRequestMatcherFactoryBean.afterPropertiesSet() calling this.builder.basePath(this.basePath) and discarding the return value \u2014 PathPatternRequestMatcher.Builder is immutable/copy-on-modify, so the configured basePath was silently dropped and protected URLs (e.g., /spring/path) were left unmatched by the security filter chain. The vulnerability requires two pieces of infrastructure introduced in Spring Security 7.0.0: 1. The PathPatternRequestMatcher.Builder API (added in upstream commit 3e53cc2c4a, \"Use PathPatternRequestMatcher in config\"). 2. The PathPatternRequestMatcherFactoryBean class itself \u2014 the exact file patched by upstream commit 53bcf0d1 (the CVE fix). Neither piece exists in version 6.3.10. The upstream POC tests (RegexMatcher, CiRegexMatcher + AuthorizationManager variants) were ported verbatim and pass."
    },
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-41706 is fixed in version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web.",
      "vulnerability": {
        "name": "CVE-2026-41706"
      }
    },
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-09-24T09:31:26.931840+00:00",
      "status_notes": "Vulnerability CVE-2026-47838 is fixed in version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web.",
      "vulnerability": {
        "name": "CVE-2026-47838"
      }
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12",
          "identifiers": {
            "purl": "pkg:maven/org.springframework.security/spring-security-web@6.3.10-tuxcare.12"
          }
        }
      ],
      "timestamp": "2026-10-30T12:38:02.053506+00:00",
      "status_notes": "Vulnerability CVE-2026-47841 does not affect version 6.3.10-tuxcare.12 of org.springframework.security:spring-security-web. CVE-2026-47841 is in Spring Security's WebAuthn (passkeys) support, which was added in 6.4. Spring Security 6.3.10 contains no WebAuthn code, so it is not affected.",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-47841"
      },
      "impact_statement": "CVE-2026-47841 is in Spring Security's WebAuthn (passkeys) support, which was added in 6.4. Spring Security 6.3.10 contains no WebAuthn code, so it is not affected."
    }
  ]
}
