Summary
The Immich application is vulnerable to credential disclosure when a user authenticates to a shared album. During the authentication process, the application transmits the album password within the URL query parameters in a GET request to /api/shared-links/me. This exposes the password in browser history, proxy and server logs, and referrer
headers, allowing unintended disclosure of authentication credentials. The impact of this vulnerability is the potential compromise of shared album access and unauthorized exposure of sensitive user data.
Details
The application transmits and exposes sensitive authentication credentials and user data
during the shared album authentication process. Specifically, the /api/shared-links/me endpoint accepts the album password as a query parameter within the request URL and subsequently returns it in the HTTP response body alongside sensitive information about the album owner.
Example:
GET /api/shared-links/me?password=admin@44&slug=private
This behavior results in multiple layers of data exposure. The inclusion of the password in the request URI causes it to appear in browser history, reverse proxy logs, and referrer headers, while the server response further discloses sensitive details including user identifiers, email address, and more. As a result, an unauthenticated attacker with network access, access to logs, or control of intermediate systems could obtain the album password which leads to gaining access to album media content, and related personal data, compromising the confidentiality of private content and user information.
PoC
Steps to reproduce
- Login as an admin to the Immich application.
- Click on Sharing > Create album.
- Fill in the album details including a title, description, and select an already uploaded
image.
- Click on the “Share” button in the top right corner.
- Click on “Create Link”.
- Enter the details for the custom URL and password.
- Click on “Create Link”.
- This will show the QR code and the URL generated to access the album.
- Visit the link in an incognito browser window (without any previous session cookies.)
- Open the network tab in the developer mode in the browser.
- Visit the link and enter the password to authenticate to the Album.
- Observe how the request transmits the password as a query parameter in the GET
request URL.
Proof of Concept (Image)

Recommendations
The /api/shared-links/me endpoint should be refactored to use the POST method and handle authentication credentials within the HTTP request body transmitted over HTTPS. The application must not include the password field in either the request URL or the API response. Upon successful authentication, the server should return only the
necessary access token required for session validation. All sensitive fields, including password, userId, email, and owner information, should be excluded from API responses to prevent unnecessary exposure of personal or security-relevant data
Summary
The Immich application is vulnerable to credential disclosure when a user authenticates to a shared album. During the authentication process, the application transmits the album password within the URL query parameters in a GET request to
/api/shared-links/me. This exposes the password in browser history, proxy and server logs, and referrerheaders, allowing unintended disclosure of authentication credentials. The impact of this vulnerability is the potential compromise of shared album access and unauthorized exposure of sensitive user data.
Details
The application transmits and exposes sensitive authentication credentials and user data
during the shared album authentication process. Specifically, the
/api/shared-links/me endpointaccepts the album password as a query parameter within the request URL and subsequently returns it in the HTTP response body alongside sensitive information about the album owner.Example:
This behavior results in multiple layers of data exposure. The inclusion of the password in the request URI causes it to appear in browser history, reverse proxy logs, and referrer headers, while the server response further discloses sensitive details including user identifiers, email address, and more. As a result, an unauthenticated attacker with network access, access to logs, or control of intermediate systems could obtain the album password which leads to gaining access to album media content, and related personal data, compromising the confidentiality of private content and user information.
PoC
Steps to reproduce
image.
request URL.
Proof of Concept (Image)
Recommendations
The /api/shared-links/me endpoint should be refactored to use the POST method and handle authentication credentials within the HTTP request body transmitted over HTTPS. The application must not include the password field in either the request URL or the API response. Upon successful authentication, the server should return only the
necessary access token required for session validation. All sensitive fields, including password, userId, email, and owner information, should be excluded from API responses to prevent unnecessary exposure of personal or security-relevant data