During a pentest we identified some indications of XPath injection, meaning we were able manipulate the HTTP request parameters with single quotes and logic (i.e. appending and 2=2) to derive various server responses.
This software stack consists of two components - client side and service side. The server side component uses access controls and can be configured to present only specific type of data based on authorization. When informed about this XPath vulnerability, software provider informed us that client-side component can never be trusted, so it's not a problem that we can modify XPath queries. Most important that server side component has correct access controls in place. In theory this makes sense to me, however looking at recommendations for XPath injection prevention, it is usually input validation, parametrized queries, and just sanitizing user input in general.
During our exploitation we could not obtain any interesting data since server-side component indeed had proper access controls.
My question - does the above explanation from the provider makes sense and the model is secure? In my view, even though indeed client side is not to be trusted, the user should still not be able to manually inject code into the HTTP parameters like ...aaa?x=123' and 2=2.