Lucene search

K
openvasCopyright (C) 2023 Greenbone AGOPENVAS:1361412562310104997
HistoryOct 18, 2023 - 12:00 a.m.

Redis Unix Socket Permission Access Bypass Vulnerability (GHSA-ghmp-889m-7cvx)

2023-10-1800:00:00
Copyright (C) 2023 Greenbone AG
plugins.openvas.org
6
redis
vulnerability
unix socket
bypass
ghsa-ghmp-889m-7cvx
race condition
umask
update
advisory

3.6 Low

CVSS3

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

4.2 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

10.5%

Redis is prone to a vulnerability that allows to bypass desired
Unix socket permissions on startup.

# SPDX-FileCopyrightText: 2023 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only

CPE = "cpe:/a:redis:redis";

if (description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.104997");
  script_version("2023-11-01T05:05:34+0000");
  script_tag(name:"last_modification", value:"2023-11-01 05:05:34 +0000 (Wed, 01 Nov 2023)");
  script_tag(name:"creation_date", value:"2023-10-18 14:52:03 +0000 (Wed, 18 Oct 2023)");
  script_tag(name:"cvss_base", value:"2.4");
  script_tag(name:"cvss_base_vector", value:"AV:L/AC:H/Au:S/C:P/I:P/A:N");
  script_tag(name:"severity_vector", value:"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N");
  script_tag(name:"severity_origin", value:"NVD");
  script_tag(name:"severity_date", value:"2023-10-30 12:50:00 +0000 (Mon, 30 Oct 2023)");

  script_cve_id("CVE-2023-45145");

  script_tag(name:"qod_type", value:"remote_banner_unreliable");

  script_tag(name:"solution_type", value:"VendorFix");

  script_name("Redis Unix Socket Permission Access Bypass Vulnerability (GHSA-ghmp-889m-7cvx)");

  script_category(ACT_GATHER_INFO);

  script_copyright("Copyright (C) 2023 Greenbone AG");
  script_family("Databases");
  script_dependencies("gb_redis_detect.nasl");
  script_mandatory_keys("redis/installed");

  script_tag(name:"summary", value:"Redis is prone to a vulnerability that allows to bypass desired
  Unix socket permissions on startup.");

  script_tag(name:"vuldetect", value:"Checks if a vulnerable version is present on the target host.");

  script_tag(name:"insight", value:"On startup, Redis begins listening on a Unix socket before
  adjusting its permissions to the user-provided configuration. If a permissive umask(2) is used,
  this creates a race condition that enables, during a short period of time, another process to
  establish an otherwise unauthorized connection.");

  # nb: There was no version 6.3.x, 7.1.x or similar.
  script_tag(name:"affected", value:"Redis versions starting from 2.6.0-RC1 and prior to 6.2.14,
  7.0.x prior to 7.0.14 and 7.2.x prior to 7.2.2.");

  script_tag(name:"solution", value:"Update to version 6.2.14, 7.0.14, 7.2.2 or later.

  It is also possible to work around the problem by disabling Unix sockets, starting Redis with a
  restrictive umask, or storing the Unix socket file in a protected directory.");

  script_xref(name:"URL", value:"https://github.com/redis/redis/security/advisories/GHSA-ghmp-889m-7cvx");

  exit(0);
}

include("host_details.inc");
include("version_func.inc");

if (!port = get_app_port(cpe: CPE))
  exit(0);

if (!version = get_app_version(cpe: CPE, port: port))
  exit(0);

# nb: Unlikely that our detection is able to catch the RC1 suffix in 2.6.0-RC1 but no one should
# run that version in production these days.
if (version_in_range_exclusive(version: version, test_version_lo: "2.6.0", test_version_up: "6.2.14")) {
  report = report_fixed_ver(installed_version: version, fixed_version: "6.2.14");
  security_message(port: port, data: report);
  exit(0);
}

if (version_in_range_exclusive(version: version, test_version_lo: "7.0", test_version_up: "7.0.14")) {
  report = report_fixed_ver(installed_version: version, fixed_version: "7.0.14");
  security_message(port: port, data: report);
  exit(0);
}

if (version_in_range_exclusive(version: version, test_version_lo: "7.2", test_version_up: "7.2.2")) {
  report = report_fixed_ver(installed_version: version, fixed_version: "7.2.2");
  security_message(port: port, data: report);
  exit(0);
}

exit(99);

3.6 Low

CVSS3

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

4.2 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

10.5%