The root cause of the vulnerability is a combination of insufficient data authenticity verification and missing authorization across multiple endpoints in the GitHub integration API. The state parameter, used to track the GitHub App installation flow, was not cryptographically signed, allowing an attacker to tamper with it and specify an arbitrary projectId. The main callback endpoint, /github/auth/callback, blindly trusted this tampered state and linked a GitHub installation to the victim's project without verifying if the user had the necessary permissions. Furthermore, related endpoints for listing and connecting repositories also lacked proper authorization checks, permitting unauthenticated users to enumerate repository metadata and create repository records in projects they did not have access to. The patch addresses these issues by replacing the insecure base64-encoded state with a signed JSON Web Token (JWT) and implementing strict authorization checks across all affected endpoints to ensure the user is a member of the target project.