gogs/gogs: Improper Neutralization of Special Elements used in a Command
CVE-2022-1884 is a critical-severity improper neutralization of special elements used in a command vulnerability in gogs/gogs from Gogs, with a CVSS 3.1 base score of 9.8 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected gogs/gogs versions: latest and earlier. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 1.84% chance of exploitation within 30 days, higher than 79% of scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Check which version of gogs/gogs you run against the affected versions below, and install the vendor's latest release.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Gogs | gogs/gogs | latest and earlier | Not stated |
| Gogs | gogs | 0.12.7 and earlier | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 9.8 | Critical | NVD |
| CVSS 3.1 | 10.0 | Critical | CISA (ADP) |
| CVSS 3.0 | 10.0 | Critical | CNA (huntr.dev) |
Official description
A remote command execution vulnerability exists in gogs/gogs versions <=0.12.7 when deployed on a Windows server. The vulnerability arises due to improper validation of the `tree_path` parameter during file uploads. An attacker can set `tree_path=.git.` to upload a file into the .git directory, allowing them to write or rewrite the `.git/config` file. If the `core.sshCommand` is set, this can lead to remote command execution.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Neutralization of Special Elements used in a Command
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
How developers prevent this class of flaw
- If at all possible, use library calls rather than external processes to recreate the desired functionality.
- If possible, ensure that all external commands called from the program are statically created.
- Run time: Run time policy enforcement may be used in an allowlist fashion to prevent use of any non-sanctioned commands.
More Improper Neutralization of Special Elements used in a Command vulnerabilities (CWE-77)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: poc, automatable: yes, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Technical write-ups (may include proof of concept)
- huntr.com/bounties/9cd4e7b7-0979-4e5e-9a1c-388b58dea76bExploit, Third Party Advisory
Recent Improper Neutralization of Special Elements used in a Command vulnerabilities
- 9.8 Critical severity
- 9.6 Critical severity
- 9.8 Critical severity
- 8.0 High severity
- 7.2 High severity
- 7.8 High severity
Spotted an error? Tell us.