When working with cloud services and deployments, the load balancers often use a health endpoint to ensure that the service node is up and running and can take traffic.
To catch as many issues we can before serving the users, we stage our deployments across multiple stages. As a result, often during a complicated service issue, we need to know which version of the service is running at the node.
To make it easy for the on call engineers, I was thinking of adding this data to the health endpoint (say: /api/internal/<node_health_data>). These endpoints are unauthenticated because that is what the load balancers expect. These APIs are not made public but for the sake of this threat model, lets assume that an adversary figures it out.
What are the risks of showing git commit/service version in the unauthenticated health data?
The two risks that I could think of were:
- An adversary can keep an eye on this to understand how often does new code come into these nodes.
- If they find any vulnerabilities, they can look at the endpoint and determine if the vulnerability can be exploited on that endpoint.