Files

3.2 KiB

Jetty 9.4.57 CVE Mitigations

Scope

Search Services embeds the solr-solr-6.6.5-patched.22.zip runtime. That ZIP contains Jetty 9.4.57.v20241219 JARs under server/lib; Maven dependency management does not replace them in the packaged distribution.

This assessment applies to the default runtime assembled by search-services/packaging/pom.xml. Reassess it when the Solr distribution, Jetty configuration, ingress, or authentication mode changes.

Reachability Assessment

CVE Disposition Evidence
CVE-2026-6790 Not reachable Requires HTTP/2 or HTTP/3. The distribution contains no HTTP/2, HTTP/3, or ALPN JARs. server/etc/jetty-http.xml configures only Jetty's HTTP/1.1 HttpConnectionFactory.
CVE-2024-6763 Not applicable to current use Requires application use of org.eclipse.jetty.http.HttpURI as a validator for attacker-controlled URLs. Repository application code does not reference that class, and the Jetty advisory states that normal server use is not vulnerable.
CVE-2025-11143 Not exploitable through identified application code Repository application code does not use HttpURI for URL allowlists/blocklists, redirects, host ACLs, or SSRF protection. Reject malformed URIs at the ingress as defense in depth.
CVE-2026-10050 Not reachable The vulnerable class is client-side org.eclipse.jetty.client.DigestAuthentication. The distribution contains no jetty-client JAR. The server-side DigestAuthenticator is a different class and is not configured.
CVE-2026-2332 Reachable unless controlled at deployment The vulnerable HTTP/1.1 chunk parser is active in HttpConnectionFactory and processes requests before Solr authentication. Application-level shared-secret checks do not prevent parser exploitation.

Required Controls for CVE-2026-2332

Production deployments must apply all applicable controls below:

  1. Do not expose the Solr listener directly to public or general internal networks.
  2. Restrict port 8983 to approved ACS, Search, monitoring, and administrative sources using network policy, firewall rules, or security groups.
  3. Prefer mutual TLS and set SOLR_SSL_NEED_CLIENT_AUTH=true.
  4. At any ingress proxy, reject malformed chunked transfer encoding, chunk extensions, and control characters in chunk metadata. Prefer normalized upstream requests using Content-Length.
  5. Do not rely on ALFRESCO_SECURE_COMMS=secret alone. Jetty parses HTTP framing before the shared-secret authentication plugin runs.
  6. Do not use ALFRESCO_SECURE_COMMS=none in production.

Deployment Evidence

Capture the following evidence for each deployed environment before accepting the mitigation:

  • The effective ALFRESCO_SECURE_COMMS value.
  • The effective SOLR_SSL_NEED_CLIENT_AUTH value.
  • Listener bindings and published container ports.
  • Firewall, security-group, or network-policy rules protecting port 8983.
  • Ingress or load-balancer rules for chunked transfer encoding and connection reuse.
  • A request-path diagram showing every component between an untrusted client and Jetty.

Reopen the finding if untrusted clients can establish a direct HTTP/1.1 connection to Jetty, or if the ingress cannot reject the malformed chunked requests described by CVE-2026-2332.