This is a summary of the AI-generated 10-question deep analysis. The full version (longer answers, follow-up Q&A, related CVEs) requires login. Read the full analysis β
Q1What is this vulnerability? (Essence + Consequences)
π¨ **Essence**: CVE-2018-14912 is a **Directory Traversal** flaw in cgit. <br>π₯ **Consequences**: Attackers can read **arbitrary files** from the server.β¦
π **Root Cause**: The `cgit_clone_objects` function fails to sanitize input. <br>π **Flaw**: It allows `../` sequences to escape the intended git objects directory.β¦
π¦ **Affected**: cgit versions **prior to 1.2.1**. <br>βοΈ **Component**: The C-based Git web frontend. <br>π **Scope**: Any instance running older versions with HTTP clone enabled.
Q4What can hackers do? (Privileges/Data)
π΅οΈ **Hackers Can**: Retrieve **any file** the web server process can read. <br>π **Data Impact**: Access to `/etc/passwd`, SSH keys, or internal git repositories.β¦
β‘ **Threshold**: **LOW**. <br>π **Auth**: No authentication required. <br>βοΈ **Config**: Only requires `enable-http-clone=1` (default in many setups). <br>π **Access**: Publicly accessible via URL manipulation.
Q6Is there a public Exp? (PoC/Wild Exploitation)
π’ **Public Exp?**: **YES**. <br>π **PoC**: Available on Exploit-DB (ID 45195) and Project Zero. <br>π οΈ **Tool**: Nuclei templates exist for automated scanning. <br>π₯ **Status**: Actively exploitable in the wild.
Q7How to self-check? (Features/Scanning)
π **Self-Check**: Scan for `cgit/cgit.cgi/git/objects/?path=../`. <br>π‘ **Indicator**: Look for HTTP clone functionality enabled. <br>π§ͺ **Test**: Send a request with `../` in the path parameter.β¦
β **Fixed**: **YES**. <br>π¦ **Patch**: Upgrade to cgit **v1.2.1** or later. <br>π **Advisory**: Debian DSA-4263 and upstream fixes are available. <br>π **Action**: Immediate update recommended.
Q9What if no patch? (Workaround)
π‘οΈ **No Patch?**: Disable `enable-http-clone` in config. <br>π« **Mitigation**: Set `enable-http-clone=0`. <br>π§± **WAF**: Block requests containing `../` in the `path` parameter for git objects.β¦