Graphql Hasura Information Disclosure Scanner

Detects 'Information Disclosure' vulnerability in Graphql Hasura.

Short Info


Level

Informational

Single Scan

Single Scan

Can be used by

Asset Owner

Estimated Time

10 seconds

Time Interval

9 days 1 hour

Scan only one

URL

Toolbox

-

GraphQL Hasura is an open-source engine that provides instant, real-time GraphQL APIs on top of existing PostgreSQL databases. It's widely used by developers and enterprises to build scalable applications with a modern, database-agnostic approach to querying. Hasura is popular for its flexible, performant queries and is used across various industries including technology, e-commerce, and finance. Due to its GraphQL foundation, it allows front-end developers to request only the data they need, making it efficient for modern web applications. Its easy integration with existing systems makes it a go-to solution for teams aiming to build APIs quickly without compromising performance or security. It is essential for projects that require real-time data access and synchronization capabilities.

Information Disclosure vulnerabilities can occur when sensitive information about a product or its configuration is unintentionally exposed. In the context of GraphQL and Hasura, such vulnerabilities can allow an attacker to deduce the existence of certain endpoints or infer capabilities of the GraphQL engine. This can lead detection to further exploit or penetrate the system if additional vulnerabilities exist. Typically, the exposure occurs due to verbose error messages or misconfigured security settings that reveal more detail than intended. Ensuring correct error handling and adhering to API security best practices is crucial to mitigate such vulnerabilities. Developers need to be aware of the impact of default configurations in GraphQL that may unintentionally disclose sensitive context information.

The vulnerability occurs when GraphQL endpoints are accessible without proper authentication or access controls, allowing potential attackers to probe the server. The technical mark of this vulnerability is detected by sending a crafted query to GraphQL endpoints and analyzing the HTTP response for error messages or clues about the underlying schema. Lack of proper headers or incorrect status codes in the response can hint at missing security configurations. Additionally, error responses that return identifiers or database table names can expose internal structures. Preventive measures include configuring the GraphQL server to catch and log errors internally while masking them in user-facing contexts.

When exploited, Information Disclosure vulnerabilities can lead to unauthorized access to system information that ideally should be kept private. This information can be used by attackers to map out environments, understand system dependencies, and identify other potential weaknesses. Consequently, these details can aid in mounting further complex attacks, such as Injection Attacks, against the system. Data theft or system manipulation may also occur if attackers use disclosed information to pivot further into the infrastructure. Implementing robust security controls, such as query whitelisting and rate limiting, is vital to prevent escalating threats.

REFERENCES

Get started to protecting your digital assets