Vulnerabilities > CVE-2015-3281 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in multiple products
Attack vector
UNKNOWN Attack complexity
UNKNOWN Privileges required
UNKNOWN Confidentiality impact
UNKNOWN Integrity impact
UNKNOWN Availability impact
UNKNOWN Summary
The buffer_slow_realign function in HAProxy 1.5.x before 1.5.14 and 1.6-dev does not properly realign a buffer that is used for pending outgoing data, which allows remote attackers to obtain sensitive information (uninitialized memory contents of previous requests) via a crafted request.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Buffer Overflow via Environment Variables This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
- Overflow Buffers Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
- Client-side Injection-induced Buffer Overflow This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
- Filter Failure through Buffer Overflow In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
- MIME Conversion An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.
Nessus
NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2015-1741.NASL description An updated haproxy package that fixes one security issue is now available for Red Hat Enterprise Linux 6 and 7. HAProxy provides high availability, load balancing, and proxying for TCP and HTTP-based applications. An implementation error related to the memory management of request and responses was found within HAProxy last seen 2020-06-01 modified 2020-06-02 plugin id 85977 published 2015-09-17 reporter This script is Copyright (C) 2015-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/85977 title RHEL 6 / 7 : haproxy 1.5 (RHSA-2015:1741) code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # adapted from Red Hat Security Advisory RHSA-2015:1741. That text # itself is copyright (C) Red Hat, Inc. # include("compat.inc"); if (description) { script_id(85977); script_version("1.9"); script_cvs_date("Date: 2019/10/24 15:35:40"); script_cve_id("CVE-2015-3281"); script_bugtraq_id(75554); script_xref(name:"RHSA", value:"2015:1741"); script_name(english:"RHEL 6 / 7 : haproxy 1.5 (RHSA-2015:1741)"); script_summary(english:"Checks the rpm output for the updated packages."); script_set_attribute(attribute:"synopsis", value: "The remote Red Hat host is missing one or more security updates."); script_set_attribute(attribute:"description", value: "An updated haproxy package that fixes one security issue is now available for Red Hat Enterprise Linux 6 and 7. HAProxy provides high availability, load balancing, and proxying for TCP and HTTP-based applications. An implementation error related to the memory management of request and responses was found within HAProxy's buffer_slow_realign() function. An unauthenticated, remote attacker could possibly use this flaw to leak certain memory buffer contents from a past request or session. (CVE-2015-3281) Note that, according to CVE-2015-3281, this issue only exists in HAProxy version 1.5.x prior to 1.5.14. All HAProxy users are advised to upgrade to this updated package, which contains a backported patch to correct this issue."); script_set_attribute(attribute:"see_also", value:"https://www.redhat.com/security/data/cve/CVE-2015-3281.html"); script_set_attribute(attribute:"see_also", value:"http://rhn.redhat.com/errata/RHSA-2015-1741.html"); script_set_attribute(attribute:"solution", value: "Update the affected haproxy and / or haproxy-debuginfo packages."); 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_set_attribute(attribute:"vuln_publication_date", value:"2015/07/02"); script_set_attribute(attribute:"patch_publication_date", value:"2015/09/08"); script_set_attribute(attribute:"plugin_publication_date", value:"2015/09/17"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:haproxy"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:haproxy-debuginfo"); script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6"); script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6.7"); script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"Red Hat Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2015-2019 Tenable Network Security, Inc."); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/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/RedHat/release"); if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat"); os_ver = eregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release); if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat"); os_ver = os_ver[1]; if (! ereg(pattern:"^(6|7)([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 6.x / 7.x", "Red Hat " + os_ver); if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu); flag = 0; if (rpm_exists(release:"RHEL6", rpm:"haproxy-1.5") && rpm_check(release:"RHEL6", cpu:"i686", reference:"haproxy-1.5.4-2.el6_7.1")) flag++; if (rpm_exists(release:"RHEL6", rpm:"haproxy-1.5") && rpm_check(release:"RHEL6", cpu:"x86_64", reference:"haproxy-1.5.4-2.el6_7.1")) flag++; if (rpm_exists(release:"RHEL6", rpm:"haproxy-1.5") && rpm_check(release:"RHEL6", cpu:"i686", reference:"haproxy-debuginfo-1.5.4-2.el6_7.1")) flag++; if (rpm_exists(release:"RHEL6", rpm:"haproxy-1.5") && rpm_check(release:"RHEL6", cpu:"x86_64", reference:"haproxy-debuginfo-1.5.4-2.el6_7.1")) flag++; if (rpm_exists(release:"RHEL7", rpm:"haproxy-1.5") && rpm_check(release:"RHEL7", cpu:"x86_64", reference:"haproxy-1.5.4-4.el7_1.1")) flag++; if (rpm_exists(release:"RHEL7", rpm:"haproxy-1.5") && rpm_check(release:"RHEL7", cpu:"x86_64", reference:"haproxy-debuginfo-1.5.4-4.el7_1.1")) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get()); else security_warning(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "haproxy 1.5 / haproxy-debuginfo 1.5"); }
NASL family CentOS Local Security Checks NASL id CENTOS_RHSA-2015-1741.NASL description An updated haproxy package that fixes one security issue is now available for Red Hat Enterprise Linux 6 and 7. Red Hat Product Security has rated this update as having Important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section. HAProxy provides high availability, load balancing, and proxying for TCP and HTTP-based applications. An implementation error related to the memory management of requests and responses was found within HAProxy last seen 2020-06-01 modified 2020-06-02 plugin id 86509 published 2015-10-22 reporter This script is Copyright (C) 2015-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86509 title CentOS 6 / 7 : haproxy (CESA-2015:1741) code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Red Hat Security Advisory RHSA-2015:1741 and # CentOS Errata and Security Advisory 2015:1741 respectively. # include("compat.inc"); if (description) { script_id(86509); script_version("2.9"); script_cvs_date("Date: 2020/01/02"); script_cve_id("CVE-2015-3281"); script_xref(name:"RHSA", value:"2015:1741"); script_name(english:"CentOS 6 / 7 : haproxy (CESA-2015:1741)"); script_summary(english:"Checks rpm output for the updated package"); script_set_attribute( attribute:"synopsis", value:"The remote CentOS host is missing a security update." ); script_set_attribute( attribute:"description", value: "An updated haproxy package that fixes one security issue is now available for Red Hat Enterprise Linux 6 and 7. Red Hat Product Security has rated this update as having Important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section. HAProxy provides high availability, load balancing, and proxying for TCP and HTTP-based applications. An implementation error related to the memory management of requests and responses was found within HAProxy's buffer_slow_realign() function. An unauthenticated remote attacker could possibly use this flaw to leak certain memory buffer contents from a past request or session. (CVE-2015-3281) All haproxy users are advised to upgrade to this updated package, which contains a backported patch to correct this issue." ); # https://lists.centos.org/pipermail/centos-announce/2015-September/021376.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?dab7cb4a" ); # https://lists.centos.org/pipermail/centos-announce/2015-September/021378.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?d3d952da" ); script_set_attribute( attribute:"solution", value:"Update the affected haproxy package." ); 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:"cvss_score_source", value:"CVE-2015-3281"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:haproxy"); script_set_attribute(attribute:"cpe", value:"cpe:/o:centos:centos:6"); script_set_attribute(attribute:"cpe", value:"cpe:/o:centos:centos:7"); script_set_attribute(attribute:"vuln_publication_date", value:"2015/07/06"); script_set_attribute(attribute:"patch_publication_date", value:"2015/09/08"); script_set_attribute(attribute:"plugin_publication_date", value:"2015/10/22"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2015-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"CentOS Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/CentOS/release", "Host/CentOS/rpm-list"); 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/CentOS/release"); if (isnull(release) || "CentOS" >!< release) audit(AUDIT_OS_NOT, "CentOS"); os_ver = pregmatch(pattern: "CentOS(?: Linux)? release ([0-9]+)", string:release); if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "CentOS"); os_ver = os_ver[1]; if (! preg(pattern:"^(6|7)([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "CentOS 6.x / 7.x", "CentOS " + os_ver); if (!get_kb_item("Host/CentOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "CentOS", cpu); flag = 0; if (rpm_check(release:"CentOS-6", reference:"haproxy-1.5.4-2.el6_7.1")) flag++; if (rpm_check(release:"CentOS-7", cpu:"x86_64", reference:"haproxy-1.5.4-4.el7_1.1")) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : rpm_report_get() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "haproxy"); }
NASL family Scientific Linux Local Security Checks NASL id SL_20150908_HAPROXY_ON_SL6_X.NASL description An implementation error related to the memory management of request and responses was found within HAProxy last seen 2020-03-18 modified 2015-09-09 plugin id 85866 published 2015-09-09 reporter This script is Copyright (C) 2015-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/85866 title Scientific Linux Security Update : haproxy on SL6.x, SL7.x i386/x86_64 (20150908) NASL family SuSE Local Security Checks NASL id OPENSUSE-2015-682.NASL description haproxy was updated to fix two security issues. These security issues were fixed : - CVE-2015-3281: The buffer_slow_realign function in HAProxy did not properly realign a buffer that is used for pending outgoing data, which allowed remote attackers to obtain sensitive information (uninitialized memory contents of previous requests) via a crafted request (bsc#937042). - Changed DH parameters to prevent Logjam attack. These non-security issues were fixed : - BUG/MAJOR: buffers: make the buffer_slow_realign() function respect output data - BUG/MINOR: ssl: fix smp_fetch_ssl_fc_session_id - MEDIUM: ssl: replace standards DH groups with custom ones - BUG/MEDIUM: ssl: fix tune.ssl.default-dh-param value being overwritten - MINOR: ssl: add a destructor to free allocated SSL ressources - BUG/MINOR: ssl: Display correct filename in error message - MINOR: ssl: load certificates in alphabetical order - BUG/MEDIUM: checks: fix conflicts between agent checks and ssl healthchecks - BUG/MEDIUM: ssl: force a full GC in case of memory shortage - BUG/MEDIUM: ssl: fix bad ssl context init can cause segfault in case of OOM. - BUG/MINOR: ssl: correctly initialize ssl ctx for invalid certificates - MINOR: ssl: add statement to force some ssl options in global. - MINOR: ssl: add fetchs last seen 2020-06-05 modified 2015-10-28 plugin id 86623 published 2015-10-28 reporter This script is Copyright (C) 2015-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/86623 title openSUSE Security Update : haproxy (openSUSE-2015-682) NASL family Fedora Local Security Checks NASL id FEDORA_2015-11255.NASL description Security fix for CVE-2015-3281 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-05 modified 2015-07-29 plugin id 85055 published 2015-07-29 reporter This script is Copyright (C) 2015-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/85055 title Fedora 21 : haproxy-1.5.14-1.fc21 (2015-11255) NASL family Fedora Local Security Checks NASL id FEDORA_2015-11267.NASL description Security fix for CVE-2015-3281 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-05 modified 2015-07-29 plugin id 85056 published 2015-07-29 reporter This script is Copyright (C) 2015-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/85056 title Fedora 22 : haproxy-1.5.14-1.fc22 (2015-11267) NASL family Debian Local Security Checks NASL id DEBIAN_DSA-3301.NASL description Charlie Smurthwaite of aTech Media discovered a flaw in HAProxy, a fast and reliable load balancing reverse proxy, when HTTP pipelining is used. A client can take advantage of this flaw to cause data corruption and retrieve uninitialized memory contents that exhibit data from a past request or session. last seen 2020-06-01 modified 2020-06-02 plugin id 84511 published 2015-07-06 reporter This script is Copyright (C) 2015-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/84511 title Debian DSA-3301-1 : haproxy - security update NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2015-2666.NASL description Red Hat OpenShift Enterprise release 2.2.8, which fixes one security issue, several bugs, and introduces feature enhancements, is now available. Red Hat Product Security has rated this update as having Important security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section. OpenShift Enterprise by Red Hat is the company last seen 2020-06-12 modified 2018-12-04 plugin id 119366 published 2018-12-04 reporter This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/119366 title RHEL 6 : Red Hat OpenShift Enterprise 2.2.8 (RHSA-2015:2666) NASL family Oracle Linux Local Security Checks NASL id ORACLELINUX_ELSA-2015-1741.NASL description From Red Hat Security Advisory 2015:1741 : An updated haproxy package that fixes one security issue is now available for Red Hat Enterprise Linux 6 and 7. HAProxy provides high availability, load balancing, and proxying for TCP and HTTP-based applications. An implementation error related to the memory management of request and responses was found within HAProxy last seen 2020-06-01 modified 2020-06-02 plugin id 85864 published 2015-09-09 reporter This script is Copyright (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/85864 title Oracle Linux 7 : haproxy (ELSA-2015-1741) NASL family Ubuntu Local Security Checks NASL id UBUNTU_USN-2668-1.NASL description It was discovered that HAProxy incorrectly handled certain buffers. A remote attacker could possibly use this issue to obtain sensitive information belonging to previous requests. Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu 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 84619 published 2015-07-08 reporter Ubuntu Security Notice (C) 2015-2019 Canonical, Inc. / NASL script (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/84619 title Ubuntu 14.10 / 15.04 : haproxy vulnerability (USN-2668-1) NASL family FreeBSD Local Security Checks NASL id FREEBSD_PKG_CBFA8BD724B611E586FF14DAE9D210B8.NASL description HAProxy reports : A vulnerability was found when HTTP pipelining is used. In some cases, a client might be able to cause a buffer alignment issue and retrieve uninitialized memory contents that exhibit data from a past request or session. I want to address sincere congratulations to Charlie Smurthwaite of aTech Media for the really detailed traces he provided which made it possible to find the cause of this bug. Every user of 1.5-dev, 1.5.x or 1.6-dev must upgrade to 1.5.14 or latest 1.6-dev snapshot to fix this issue, or use the backport of the fix provided by their operating system vendors. CVE-2015-3281 was assigned to this bug. last seen 2020-06-01 modified 2020-06-02 plugin id 84601 published 2015-07-08 reporter This script is Copyright (C) 2015-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/84601 title FreeBSD : haproxy -- information leak vulnerability (cbfa8bd7-24b6-11e5-86ff-14dae9d210b8)
Redhat
advisories |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rpms |
|
References
- http://www.debian.org/security/2015/dsa-3301
- http://www.haproxy.org/news.html
- http://www.securityfocus.com/bid/75554
- http://rhn.redhat.com/errata/RHSA-2015-2666.html
- http://lists.opensuse.org/opensuse-security-announce/2015-10/msg00001.html
- http://rhn.redhat.com/errata/RHSA-2015-1741.html
- http://lists.opensuse.org/opensuse-security-announce/2015-10/msg00023.html
- http://www.ubuntu.com/usn/USN-2668-1
- http://git.haproxy.org/?p=haproxy-1.5.git%3Ba=commit%3Bh=7ec765568883b2d4e5a2796adbeb492a22ec9bd4