Summary
CVE-2017-20284 is a path traversal vulnerability (CWE-22) in Caucho Resin’s bundled resin-doc documentation web application, specifically its jndi-appconfig tutorial servlet. The servlet fails to sanitize the inputFile request parameter, allowing an unauthenticated, remote attacker to read arbitrary files from the underlying server’s filesystem. The issue affects all Resin versions that ship the resin-doc webapp and carries a high severity rating.
Technical details
- Root cause: The
jndi-appconfigtutorial servlet within theresin-docwebapp passes the value of theinputFileHTTP request parameter directly to a file-read operation without validating or sanitizing directory traversal sequences. - Trigger conditions: The
resin-docsample/documentation webapp must be deployed and reachable; no authentication or special privileges are required to exploit it. - Attack vector: A remote, unauthenticated HTTP GET/POST request to
/resin-doc/resource/tutorial/jndi-appconfig/test(or equivalent/resin-doc/examples/jndi-appconfig/test) with aninputFileparameter containing../traversal sequences (e.g.,inputFile=/etc/passwd) causes the server to return the contents of an arbitrary file. - Impact: Disclosure of arbitrary files readable by the Resin process, including configuration files, credentials, and other sensitive data. There is no reported impact to integrity or availability — the flaw is limited to confidentiality.
Affected software
- Caucho Resin — all versions that bundle and expose the
resin-docdocumentation/tutorial web application (no version-specific fix has been identified; the vendor’s own CVE record lists the product as affected across all versions).
Severity
- CVSS v3.1 Base Score: 7.5 (HIGH) — Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0 Base Score: 8.7 (HIGH) — Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: No vendor patch specifically addressing this flaw has been identified. Remove or disable the
resin-docweb application from all production Resin deployments, as it is intended only for documentation and tutorial purposes and should never be exposed on production or internet-facing servers. - If removal is not immediately possible: Block external access to the
/resin-doc/path at a reverse proxy, load balancer, or web application firewall, or add an explicit deny rule for that path in the Resin web application configuration. - General: Review Resin deployments for other bundled sample/tutorial applications that may expose similar unauthenticated file-access functionality, and restrict or remove them as well.

