CVE-2016-1000027 is published against `org.springframework:spring-web`
and targets the Java-deserialization HTTP-Invoker family —
specifically `org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter`
and its `RemoteInvocationSerializingExporter` base, which call
`ObjectInputStream.readObject()` directly on incoming HTTP-Invoker
payloads.
Spring's stated remediation is feature removal: the exporters were
deprecated in v5.3.0 and deleted entirely in v6.0.0. The 6.1.x
`spring-web` JAR this spec re-publishes therefore ships zero
`HttpInvoker*` classes — verifiable with
`unzip -l spring-web-6.1.21-echo.1.jar | grep -i HttpInvoker`,
which returns nothing. Pinning a customer's classpath to
`spring-web-6.1.21-echo.1` carries the vulnerable code's removal
forward.
Upstream Spring closed the underlying report against the framework
as `status: invalid` (issue #24434): HTTP-Invoker is opt-in native
Java serialization by design and was never intended to be exposed
to untrusted clients. Customers still on the 5.3.x line need to
either configure an `ObjectInputFilter` on the exporter or stop
exposing the endpoint; the 6.0.0+ class removal — which the
6.1.x line this spec ships is past — covers everyone else.
Spec-dir note: this entry lives under `packages/specs/java/spring-context/`
because spring-context is the multi-module umbrella owner — its
echobuild.yaml runs `./gradlew assemble` at the spring-framework
repo root and produces the `spring-web-6.1.21-echo.1.jar` sibling
output that this `not_applicable` statement scopes to. The
`name:` above is what determines the OpenVEX product PURL, not
the directory name (same pattern as `junrar-0.7/security.yaml`
→ `name: com.github.junrar:junrar`).