Vulnerabilities > CVE-2009-1255 - Information Exposure vulnerability in Memcachedb Memcached
Attack vector
NETWORK Attack complexity
LOW Privileges required
NONE Confidentiality impact
PARTIAL Integrity impact
NONE Availability impact
NONE Summary
The process_stat function in (1) Memcached before 1.2.8 and (2) MemcacheDB 1.2.0 discloses (a) the contents of /proc/self/maps in response to a stats maps command and (b) memory-allocation statistics in response to a stats malloc command, which allows remote attackers to obtain sensitive information such as the locations of memory regions, and defeat ASLR protection, by sending a command to the daemon's TCP port.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Subverting Environment Variable Values The attacker directly or indirectly modifies environment variables used by or controlling the target software. The attacker's goal is to cause the target software to deviate from its expected operation in a manner that benefits the attacker.
- Footprinting An attacker engages in probing and exploration activity to identify constituents and properties of the target. Footprinting is a general term to describe a variety of information gathering techniques, often used by attackers in preparation for some attack. It consists of using tools to learn as much as possible about the composition, configuration, and security mechanisms of the targeted application, system or network. Information that might be collected during a footprinting effort could include open ports, applications and their versions, network topology, and similar information. While footprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
- Exploiting Trust in Client (aka Make the Client Invisible) An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
- Browser Fingerprinting An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.
- Session Credential Falsification through Prediction This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.
Nessus
NASL family SuSE Local Security Checks NASL id SUSE_11_0_MEMCACHED-090806.NASL description This update of memcached fixes a signedness problem which may lead to a buffer too small to hold all data received from the network, this may allow arbitrary remote code execution. (CVE-2009-2415) Additionally an information leak was fixed (CVE-2009-1494, CVE-2009-1255 ) last seen 2020-06-01 modified 2020-06-02 plugin id 40545 published 2009-08-11 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/40545 title openSUSE Security Update : memcached (memcached-1165) code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from openSUSE Security Update memcached-1165. # # The text description of this plugin is (C) SUSE LLC. # include("compat.inc"); if (description) { script_id(40545); script_version("1.11"); script_cvs_date("Date: 2019/10/25 13:36:34"); script_cve_id("CVE-2009-1255", "CVE-2009-1494", "CVE-2009-2415"); script_name(english:"openSUSE Security Update : memcached (memcached-1165)"); script_summary(english:"Check for the memcached-1165 patch"); script_set_attribute( attribute:"synopsis", value:"The remote openSUSE host is missing a security update." ); script_set_attribute( attribute:"description", value: "This update of memcached fixes a signedness problem which may lead to a buffer too small to hold all data received from the network, this may allow arbitrary remote code execution. (CVE-2009-2415) Additionally an information leak was fixed (CVE-2009-1494, CVE-2009-1255 )" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.novell.com/show_bug.cgi?id=527875" ); script_set_attribute( attribute:"solution", value:"Update the affected memcached package." ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C"); script_cwe_id(189, 200); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:memcached"); script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:11.0"); script_set_attribute(attribute:"patch_publication_date", value:"2009/08/06"); script_set_attribute(attribute:"plugin_publication_date", value:"2009/08/11"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2009-2019 Tenable Network Security, Inc."); script_family(english:"SuSE Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("rpm.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/SuSE/release"); if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE"); if (release !~ "^(SUSE11\.0)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "11.0", release); if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); ourarch = get_kb_item("Host/cpu"); if (!ourarch) audit(AUDIT_UNKNOWN_ARCH); if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch); flag = 0; if ( rpm_check(release:"SUSE11.0", reference:"memcached-1.2.2-49.2") ) flag++; if (flag) { if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get()); else security_hole(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "memcached"); }
NASL family Misc. NASL id MEMCACHED_ASLR_BYPASS.NASL description The version of memcached / MemcacheDB running on the remote host reveals information about the stack, heap, and shared library memory locations it uses. An unauthenticated remote attacker may be able to leverage this weakness to defeat any address space layout randomization (ASLR) protection on the remote host, thereby making buffer overflows easier to exploit. last seen 2020-06-01 modified 2020-06-02 plugin id 38207 published 2009-04-29 reporter This script is Copyright (C) 2009-2018 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/38207 title Memcached / MemcacheDB ASLR Bypass Weakness code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(38207); script_version("1.10"); script_cve_id("CVE-2009-1255"); script_bugtraq_id(34756); script_xref(name:"Secunia", value:"34915"); script_xref(name:"Secunia", value:"34932"); script_name(english:"Memcached / MemcacheDB ASLR Bypass Weakness"); script_summary(english:"Sends a 'stats maps' command"); script_set_attribute( attribute:"synopsis", value: "The remote object store suffers from a weakness that may make buffer overflows easier to exploit." ); script_set_attribute( attribute:"description", value: "The version of memcached / MemcacheDB running on the remote host reveals information about the stack, heap, and shared library memory locations it uses. An unauthenticated remote attacker may be able to leverage this weakness to defeat any address space layout randomization (ASLR) protection on the remote host, thereby making buffer overflows easier to exploit." ); script_set_attribute( attribute:"see_also", value:"https://www.positronsecurity.com/advisories/2009-001.html" ); script_set_attribute( attribute:"see_also", value:"https://seclists.org/fulldisclosure/2009/Apr/281" ); script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?97546674" ); script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?24b11223" ); script_set_attribute( attribute:"solution", value: "If using memcached, upgrade to version 1.2.8. If using MemcacheDB, upgrade to revision r98 or later from the code repository." ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_cwe_id(200); script_set_attribute(attribute:"plugin_publication_date", value: "2009/04/29"); script_cvs_date("Date: 2018/11/15 20:50:23"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"Misc."); script_copyright(english:"This script is Copyright (C) 2009-2018 Tenable Network Security, Inc."); script_dependencies("memcached_detect.nasl"); script_require_ports("Services/memcached", 11211, 21201); exit(0); } include("global_settings.inc"); include("misc_func.inc"); ports = add_port_in_list(list:get_kb_list("Services/memcached"), port:11211); ports = add_port_in_list(list:ports, port:21201); foreach port (ports) { if (!get_port_state(port)) continue; soc = open_sock_tcp(port); if (soc) { req = "stats maps"; send(socket:soc, data:string(req, "\r\n")); res = recv(socket:soc, length:8192); # There's a problem if... if ( # we get a response and... !isnull(res) && ( # either there's an error or... stridx(res, 'SERVER_ERROR ') == 0 || # we see a map egrep(pattern:"^[0-9a-f]+-[0-9a-f]+[ ][-r][-w][-x]p[ ]", string:res) ) ) { if (report_verbosity > 0) { max_lines = 10; n = 0; output = ""; foreach line (split(res, keep:TRUE)) { output += line; if (n++ > max_lines) break; } report = string( "\n", "Here is the output of sending a '", req, "' command to the remote\n", "service :\n", "\n", crap(data:"-", length:30), " snip ", crap(data:"-", length:30), "\n", output, crap(data:"-", length:30), " snip ", crap(data:"-", length:30), "\n" ); if (n < max_index(split(res))) { report = string( report, "\n", "Note that only the first ", max_lines, " lines of output are reported.\n" ); } if (stridx(res, 'SERVER_ERROR ') == 0) { report = string( report, "\n", "Note that while the server responded with an error, the error itself\n", "indicates the weakness in the code is still present.\n" ); } security_warning(port:port, extra:report); } else security_warning(port); } close(soc); } }
NASL family Fedora Local Security Checks NASL id FEDORA_2009-4199.NASL description - Wed Apr 29 2009 Paul Lindner <lindner at inuus.com> - 1.2.8-1 - Upgrade to memcached-1.2.8 - Addresses CVE-2009-1255 - Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - Tue Jul 29 2008 Paul Lindner <lindner at inuus.com> - 1.2.6-1 - Upgrade to memcached-1.2.6 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-01 modified 2020-06-02 plugin id 38835 published 2009-05-20 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/38835 title Fedora 10 : memcached-1.2.8-1.fc10 (2009-4199) NASL family SuSE Local Security Checks NASL id SUSE_MEMCACHED-6397.NASL description This update of memcached fixes a signedness problem which may lead to a buffer too small to hold all data received from the network, this may allow arbitrary remote code execution. (CVE-2009-2415) Additionally an information leak was fixed (CVE-2009-1494, CVE-2009-1255 ) last seen 2020-06-01 modified 2020-06-02 plugin id 42022 published 2009-10-06 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/42022 title openSUSE 10 Security Update : memcached (memcached-6397) NASL family FreeBSD Local Security Checks NASL id FREEBSD_PKG_86ADA6948B3011DEB9D0000C6E274733.NASL description Secunia reports : A weakness has been reported in memcached, which can be exploited by malicious people to disclose system information. The weakness is caused due to the application disclosing the content of /proc/self/maps if a stats maps command is received. This can be exploited to disclose e.g. the addresses of allocated memory regions. last seen 2020-06-01 modified 2020-06-02 plugin id 40660 published 2009-08-20 reporter This script is Copyright (C) 2009-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/40660 title FreeBSD : memcached -- memcached stats maps Information Disclosure Weakness (86ada694-8b30-11de-b9d0-000c6e274733) NASL family SuSE Local Security Checks NASL id SUSE_11_1_MEMCACHED-090806.NASL description This update of memcached fixes a signedness problem which may lead to a buffer too small to hold all data received from the network, this may allow arbitrary remote code execution. (CVE-2009-2415) Additionally an information leak was fixed (CVE-2009-1494, CVE-2009-1255 ) last seen 2020-06-01 modified 2020-06-02 plugin id 40546 published 2009-08-11 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/40546 title openSUSE Security Update : memcached (memcached-1165) NASL family Fedora Local Security Checks NASL id FEDORA_2009-4542.NASL description - Wed Apr 29 2009 Paul Lindner <lindner at inuus.com> - 1.2.8-1 - Upgrade to memcached-1.2.8 - Addresses CVE-2009-1255 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-01 modified 2020-06-02 plugin id 38916 published 2009-05-27 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/38916 title Fedora 11 : memcached-1.2.8-1.fc11 (2009-4542) NASL family Mandriva Local Security Checks NASL id MANDRIVA_MDVSA-2009-105.NASL description The process_stat function in Memcached prior 1.2.8 discloses memory-allocation statistics in response to a stats malloc command, which allows remote attackers to obtain potentially sensitive information by sending this command to the daemon last seen 2020-06-01 modified 2020-06-02 plugin id 38683 published 2009-05-05 reporter This script is Copyright (C) 2009-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/38683 title Mandriva Linux Security Advisory : memcached (MDVSA-2009:105)
Seebug
bulletinFamily | exploit |
description | BUGTRAQ ID: 34756 CVE(CAN) ID: CVE-2009-1255 Memcached是一个开源的多平台数据库缓存软件。 如果远程攻击者连接到了memcached的TCP端口(默认11211)并发布了stats maps命令,Memcached就会直接将/proc/self/maps的输出管道传输给客户端。这可能导致泄漏所分配内存区域的地址。 Danga Interactive memcached 1.2.7 MemcacheDB MemcacheDB 1.2 Danga Interactive ----------------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: <a href=http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz target=_blank rel=external nofollow>http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz</a> |
id | SSV:11168 |
last seen | 2017-11-19 |
modified | 2009-05-01 |
published | 2009-05-01 |
reporter | Root |
title | Memcached stats maps命令信息泄露漏洞 |
References
- http://archives.neohapsis.com/archives/fulldisclosure/2009-04/0282.html
- http://code.google.com/p/memcachedb/source/browse/trunk/ChangeLog?spec=svn98&r=98
- http://code.google.com/p/memcachedb/source/detail?r=98
- http://code.google.com/p/memcachedb/source/diff?spec=svn98&r=98&format=side&path=/trunk/memcachedb.c
- http://groups.google.com/group/memcached/browse_thread/thread/ff96a9b88fb5d40e
- http://osvdb.org/54127
- http://secunia.com/advisories/34915
- http://secunia.com/advisories/34932
- http://secunia.com/advisories/35175
- http://www.mandriva.com/security/advisories?name=MDVSA-2009:105
- http://www.positronsecurity.com/advisories/2009-001.html
- http://www.securityfocus.com/archive/1/503064/100/0/threaded
- http://www.securityfocus.com/bid/34756
- http://www.securitytracker.com/id?1022140
- http://www.vupen.com/english/advisories/2009/1196
- http://www.vupen.com/english/advisories/2009/1197
- https://exchange.xforce.ibmcloud.com/vulnerabilities/50221
- https://www.redhat.com/archives/fedora-package-announce/2009-May/msg00851.html
- https://www.redhat.com/archives/fedora-package-announce/2009-May/msg01256.html