Login of authenticated users is not restricted by the pam_winbind
require_membership_of parameter if it only specifies invalid group names.
# Copyright (C) 2021 Greenbone Networks GmbH
# 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-or-later
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
CPE = "cpe:/a:samba:samba";
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.150741");
script_version("2021-10-05T13:40:29+0000");
script_tag(name:"last_modification", value:"2021-10-05 13:40:29 +0000 (Tue, 05 Oct 2021)");
script_tag(name:"creation_date", value:"2021-09-24 10:59:30 +0000 (Fri, 24 Sep 2021)");
script_tag(name:"cvss_base", value:"3.6");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:H/Au:S/C:P/I:P/A:N");
script_cve_id("CVE-2012-6150");
script_tag(name:"qod_type", value:"remote_banner_unreliable");
script_tag(name:"solution_type", value:"VendorFix");
script_name("Samba 3.3.10, 3.4.3, 3.5.0 and later Improper Input Validation Vulnerability (CVE-2012-6150)");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2021 Greenbone Networks GmbH");
script_family("Denial of Service");
script_dependencies("smb_nativelanman.nasl", "gb_samba_detect.nasl");
script_mandatory_keys("samba/smb_or_ssh/detected");
script_tag(name:"summary", value:"Login of authenticated users is not restricted by the pam_winbind
require_membership_of parameter if it only specifies invalid group names.");
script_tag(name:"vuldetect", value:"Checks if a vulnerable version is present on the target host.");
script_tag(name:"insight", value:"Winbind allows for the further restriction of authenticated PAM logins using
the require_membership_of parameter. System administrators may specify a list
of SIDs or groups for which an authenticated user must be a member of. If an
authenticated user does not belong to any of the entries, then login should
fail. Invalid group name entries are ignored.
Samba versions 3.3.10, 3.4.3, 3.5.0 and later incorrectly allow login from
authenticated users if the require_membership_of parameter specifies only
invalid group names.
This is a vulnerability with low impact. All require_membership_of group
names must be invalid for this bug to be encountered.");
script_tag(name:"affected", value:"Samba versions 3.3.10, 3.4.3, 3.5.0 and later.");
script_tag(name:"solution", value:"Update to version 3.6.22, 4.0.13, and 4.1.3 or later.");
script_xref(name:"URL", value:"https://www.samba.org/samba/security/CVE-2012-6150.html");
exit(0);
}
include("host_details.inc");
include("version_func.inc");
if (isnull(port = get_app_port(cpe: CPE)))
exit(0);
if (!infos = get_app_version_and_location(cpe: CPE, port: port, exit_no_version: TRUE))
exit(0);
version = infos["version"];
location = infos["location"];
if (version_in_range(version: version, test_version: "3.3.10", test_version2: "3.3.99")) {
report = report_fixed_ver(installed_version: version, fixed_version: "3.6.22", install_path: location);
security_message(port: port, data: report);
exit(0);
}
if (version_in_range(version: version, test_version: "3.4.3", test_version2: "3.4.99")) {
report = report_fixed_ver(installed_version: version, fixed_version: "3.6.22", install_path: location);
security_message(port: port, data: report);
exit(0);
}
if (version_in_range(version: version, test_version: "3.6.0", test_version2: "3.6.21")) {
report = report_fixed_ver(installed_version: version, fixed_version: "3.6.22", install_path: location);
security_message(port: port, data: report);
exit(0);
}
if (version_in_range(version: version, test_version: "4.0.0", test_version2: "4.0.12")) {
report = report_fixed_ver(installed_version: version, fixed_version: "4.0.13", install_path: location);
security_message(port: port, data: report);
exit(0);
}
if (version_in_range(version: version, test_version: "4.1.0", test_version2: "4.1.2")) {
report = report_fixed_ver(installed_version: version, fixed_version: "4.1.3", install_path: location);
security_message(port: port, data: report);
exit(0);
}
exit(99);