Impact
Parse Server uses the request header x-forwarded-for
to determine the client IP address. If Parse Server doesn't run behind a proxy server, then a client can set this header and Parse Server will trust the value of the header. The incorrect client IP address will be used by various features in Parse Server. This allows to circumvent the security mechanism of the Parse Server option masterKeyIps
by setting an allowed IP address as the x-forwarded-for
header value.
Patches
The mechanism to determine the client IP address has been rewritten. The correct IP address determination now requires to set the Parse Server option trustProxy
accordingly, see the express framework's trust proxy setting.
References
Impact
Parse Server uses the request header
x-forwarded-for
to determine the client IP address. If Parse Server doesn't run behind a proxy server, then a client can set this header and Parse Server will trust the value of the header. The incorrect client IP address will be used by various features in Parse Server. This allows to circumvent the security mechanism of the Parse Server optionmasterKeyIps
by setting an allowed IP address as thex-forwarded-for
header value.Patches
The mechanism to determine the client IP address has been rewritten. The correct IP address determination now requires to set the Parse Server option
trustProxy
accordingly, see the express framework's trust proxy setting.References