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.โฆ