Summary
TheFileServer servlet in Silverpeas through 6.4.6 treats the SourceFile parameter as an absolute filesystem path when TypeUpload is present and grants access when ComponentId is omitted. An authenticated user can combine these behaviors to read arbitrary files available to the application server process.
The original research assessment uses changed scope and scores this issue 7.7 High under CVSS 3.1. The published CVE record currently uses an unchanged-scope vector and scores it 6.5 Medium.
Technical details
Three behaviors combine to expose an arbitrary file.1. Omitting ComponentId bypasses the component check
FileServer passes the optional component identifier into isUserAllowed(). A missing value is treated as personal-space access and allowed without checking a component:
ComponentId out of the request.
2. TypeUpload changes SourceFile into an absolute path
The servlet creates a file descriptor from the request-controlled SourceFile. Merely including TypeUpload, even with an empty value, enables absolute-path mode:
3. The path check only looks for traversal sequences
The path guard rejects../ and /.., but it does not reject paths that begin at the filesystem root:
/etc/passwd contains no traversal sequence, so it reaches the file provider and is streamed back to the user.
Reproduction
Sign in with a low-privilege account and send the following request.ComponentId is intentionally absent, and TypeUpload is present with an empty value:

Reading /etc/passwd through FileServer
Impact
Any authenticated user can read files available to the Silverpeas operating-system account. Depending on the deployment, this can expose application configuration, database credentials, private keys, deployment secrets, application data, and operating-system files.Remediation
Upgrade to Silverpeas 6.4.7 or later. File paths should be resolved below a server-selected data root. If absolute-path support must remain, it should be restricted to explicit server-side directories and authorized call paths. A missingComponentId should not grant unconditional access, and relative-path validation should also reject absolute paths where only relative paths are expected.

