CVE-2014-7204
NoneCVSS
—
EPSS
4.8%
Published
Oct 7, 2014
CISA due date
—
Cloudanix analysis
A programming tool used by some applications can be tricked by a specially made file into running forever and using up all the computer's processing power and storage.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw triggers an infinite loop in the JavaScript parser inside Exuberant Ctags when processing a specially crafted .js file, resulting in unbounded CPU and disk consumption.
Why it matters to the business
Attackers can remotely exhaust server CPU and storage resources, causing service outages or degraded performance for any application that invokes ctags on untrusted JavaScript content; the issue remains relevant in older GitLab Bitnami deployments that bundle the vulnerable component.
How an attack unfolds
An attacker crafts a JavaScript file containing input that forces the parser into an endless loop, then causes the target system to invoke ctags against that file (for example by committing it to a repository indexed by GitLab).
How to fix it
Upgrade affected GitLab Bitnami installations to version 13.10.0 or later; replace any other deployments of Exuberant Ctags 5.8 with a patched or modern equivalent such as Universal Ctags.
How to confirm the fix worked
Confirm the ctags binary reports a version newer than 5.8 or that the package is supplied by the fixed GitLab Bitnami release; test by feeding the original crafted JavaScript sample to the updated binary and verifying it terminates promptly without excessive resource use.
Typical attack path
- Identify a service or workflow that runs Exuberant Ctags 5.8 on JavaScript files
- Create or upload a minimal JavaScript file engineered to trigger the infinite loop
- Trigger ctags execution against the file via normal application behavior
- Observe sustained high CPU and disk I/O until the process is terminated or resources are exhausted
How to detect it
Review process accounting, container logs, or application logs for repeated or long-running ctags invocations on JavaScript files; look for sudden spikes in CPU or disk usage correlated with repository indexing or code-search operations.
What your security team should do
- Immediately upgrade GitLab Bitnami instances to 13.10.0 or newer
- Scan all systems for any remaining copies of Exuberant Ctags 5.8 and replace them
- Add the vulnerable ctags package to the organization's blocklist for new deployments
- Monitor EPSS trend and exploit availability; treat any new public exploit code as a trigger for emergency patching
The record
jscript.c in Exuberant Ctags 5.8 allows remote attackers to cause a denial of service (infinite loop and CPU and disk consumption) via a crafted JavaScript file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | ctags | 0 | 5.8-r5 |
| Alpine:v3.11 | ctags | 0 | 5.8-r5 |
| Alpine:v3.12 | ctags | 0 | 5.8-r5 |
| Alpine:v3.13 | ctags | 0 | 5.8-r5 |
| Alpine:v3.14 | ctags | 0 | 5.8-r5 |
| Alpine:v3.15 | ctags | 0 | 5.8-r5 |
| Alpine:v3.16 | ctags | 0 | 5.8-r5 |
| Alpine:v3.6 | ctags | 0 | 5.8-r5 |
| Alpine:v3.7 | ctags | 0 | 5.8-r5 |
| Alpine:v3.8 | ctags | 0 | 5.8-r5 |
| Alpine:v3.9 | ctags | 0 | 5.8-r5 |
| Debian:11 | exuberant-ctags | 0 | 1:5.9~svn20110310-8 |
| Debian:12 | exuberant-ctags | 0 | 1:5.9~svn20110310-8 |
| Debian:13 | exuberant-ctags | 0 | 1:5.9~svn20110310-8 |
| Debian:6.0 | exuberant-ctags | 0 | 1:5.8-3squeeze2 |
| Debian:7 | exuberant-ctags | 0 | 1:5.9~svn20110310-4+deb7u1 |
| Mageia:3 | ctags | 0 | 5.8-6.1.mga3 |
| Mageia:4 | ctags | 0 | 5.8-7.1.mga4 |
| SUSE:Linux Enterprise Desktop 12 SP1 | ctags | 0 | 5.8-7.1 |
| SUSE:Linux Enterprise Server 12 SP1 | ctags | 0 | 5.8-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | ctags | 0 | 5.8-7.1 |
| Ubuntu:14.04:LTS | exuberant-ctags | 0 | 1:5.9~svn20110310-7ubuntu0.1 |
| openSUSE:Tumbleweed | ctags | 0 | 5.8-8.1 |
Related vulnerabilities
- CVE-2022-4515 A flaw was found in Exuberant Ctags in the way it handles the "-o" option. Also affects exuberant-ctags
- CVE-2026-41983 Null pointer dereference vulnerability in the browser module. Impact: Successful… CWE-399
- CVE-2015-9252 An issue was discovered in QPDF before 7.0.0. CWE-399
- CVE-2012-0881 Apache Xerces2 Java Parser before 2.12.0 allows remote attackers to cause a denial of… CWE-399
- CVE-2015-7944 The RESTful control interface (aka RAPI or ganeti-rapi) in Ganeti before 2.9.7, 2.10.x… CWE-399
- CVE-2015-8855 The semver package before 4.3.2 for Node.js allows attackers to cause a denial of service… CWE-399
- CVE-2015-8858 The uglify-js package before 2.6.0 for Node.js allows attackers to cause a denial of… CWE-399
- CVE-2016-9312 ntpd in NTP before 4.2.8p9, when running on Windows, allows remote attackers to cause a… CWE-399