
Cloud Vulnerability DB
Eine von der Community geführte Datenbank für Schwachstellen
CVE-2016-1000305 is a directory traversal vulnerability in the guard-livereload Ruby gem that allows remote attackers to read arbitrary files on the server by exploiting improper path validation in the livereload WebSocket server functionality. It affects all versions of guard-livereload before 2.5.2, and was originally discovered and reported on February 4, 2016, with the CVE identifier assigned by the DWF (Distributed Weakness Filing) project. The vulnerability was formally published to the GitHub Advisory Database in July 2026 under GHSA-g65v-27r3-5p6m. It carries a CVSS v4.0 base score of 6.9 (Medium) and a CVSS v3 score of 5.3 (Medium) (GitHub Advisory, Ruby Advisory DB).
The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory — Path Traversal), where the _serve method in lib/guard/livereload/websocket.rb failed to sanitize file paths before serving them over the livereload WebSocket socket (default port 35729). An attacker could send a specially crafted HTTP GET request to the livereload socket with a path such as ./../../etc/passwd, which the server would expand to ../../../etc/passwd and serve the contents of any user-readable file to the requester — no authentication required. The fix (commit 0e98469) changed the behavior so that requests for any file other than ./livereload.js now return a 403 Forbidden response instead of serving the file (GitHub PR #158, GitHub Advisory).
Successful exploitation allows any attacker who can reach the livereload WebSocket port to read arbitrary files accessible to the user running the livereload server process, including sensitive files such as /etc/passwd, application configuration files, private keys, or credentials. There is no impact on integrity or availability, but the confidentiality risk is significant in multi-user server environments or when the WebSocket port is exposed beyond localhost. The vulnerability is particularly dangerous when the livereload socket is bound to a non-local address or when the port is forwarded to untrusted or multi-user remote machines (GitHub Issue #159, GitHub Advisory).
curl, netcat, or a WebSocket client to connect to the target's livereload socket (e.g., http://target:35729/).GET ./../../etc/passwd HTTP/1.1
Host: target:35729The leading ./ causes the path to be expanded by the server to ../../../etc/passwd./etc/passwd) directly over the socket, exposing sensitive data to the attacker (GitHub PR #158, GitHub Issue #159)../../../, ../, or encoded variants; connections to the livereload port from untrusted or external IP addresses../../../etc/passwd, ./../../home/user/.ssh/id_rsa).strace, auditd file access logs).Upgrade guard-livereload to version 2.5.2 or later, which restricts file serving over the WebSocket socket to only ./livereload.js and returns a 403 Forbidden for all other file requests. As a workaround, ensure the livereload WebSocket port (default: 35729) is bound only to localhost (127.0.0.1) and is not exposed to untrusted networks or forwarded to remote machines. The Ruby Advisory DB notes that the gem may not have been re-released after the fix, and recommends considering migration to rack-livereload as an alternative (GitHub Advisory, Ruby Advisory DB).
Quelle: Dieser Bericht wurde mithilfe von KI erstellt
Kostenlose Schwachstellenbewertung
Bewerten Sie Ihre Cloud-Sicherheitspraktiken in 9 Sicherheitsbereichen, um Ihr Risikoniveau zu bewerten und Lücken in Ihren Abwehrmaßnahmen zu identifizieren.
Eine personalisierte Demo anfordern
"Die beste Benutzererfahrung, die ich je gesehen habe, bietet vollständige Transparenz für Cloud-Workloads."
"„Wiz bietet eine zentrale Oberfläche, um zu sehen, was in unseren Cloud-Umgebungen vor sich geht.“ "
"„Wir wissen, dass, wenn Wiz etwas als kritisch identifiziert, es auch wirklich kritisch ist.“"