Description
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. 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. This issue has been patched in version 5.4.1. 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`.
Remediation
References
https://github.com/parse-community/parse-server/commit/e016d813e083ce6828f9abce245d15b681a224d8
https://github.com/parse-community/parse-server/security/advisories/GHSA-vm5r-c87r-pf6x
https://security.netapp.com/advisory/ntap-20230309-0005/
Related Vulnerabilities
CVE-2010-1157 Vulnerability in maven package org.apache.tomcat:catalina
CVE-2017-16015 Vulnerability in npm package forms
CVE-2019-10383 Vulnerability in maven package org.jenkins-ci.main:jenkins-core
CVE-2018-25079 Vulnerability in maven package org.webjars.npm:is-url
CVE-2014-7810 Vulnerability in maven package org.apache.tomcat.embed:tomcat-embed-el