CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
NONE
Availability Impact
NONE
AV:N/AC:L/Au:N/C:P/I:N/A:N
AI Score
Confidence
High
EPSS
Percentile
70.9%
The remote host is missing an update for the
# Copyright (C) 2011 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.
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.850170");
script_version("2022-07-05T11:37:00+0000");
script_tag(name:"last_modification", value:"2022-07-05 11:37:00 +0000 (Tue, 05 Jul 2022)");
script_tag(name:"creation_date", value:"2011-08-27 16:37:49 +0200 (Sat, 27 Aug 2011)");
script_tag(name:"cvss_base", value:"5.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:P/I:N/A:N");
script_xref(name:"SUSE-SA", value:"2011-035");
script_cve_id("CVE-2011-2483");
script_name("SUSE: Security Advisory for glibc, pam-modules, libxcrypt, pwdutils (SUSE-SA:2011:035)");
script_tag(name:"summary", value:"The remote host is missing an update for the 'glibc, pam-modules, libxcrypt, pwdutils'
package(s) announced via the referenced advisory.");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2011 Greenbone Networks GmbH");
script_family("SuSE Local Security Checks");
script_dependencies("gather-package-list.nasl");
script_mandatory_keys("ssh/login/suse", "ssh/login/rpms", re:"ssh/login/release=(openSUSE11\.4|openSUSE11\.3)");
script_tag(name:"impact", value:"weak password hashing algorithm");
script_tag(name:"affected", value:"glibc, pam-modules, libxcrypt, pwdutils on openSUSE 11.3, openSUSE 11.4, SUSE SLES 9");
script_tag(name:"insight", value:"The implementation of the blowfish based password hashing method had
a bug affecting passwords that contain 8bit characters (e.g.
umlauts). Affected passwords are potentially faster to crack via
brute force methods CVE-2011-2483.
SUSE's crypt() implementation supports the blowfish password hashing
function (id $2a) and system logins by default also use this method.
This update eliminates the bug in the $2a implementation. After
installing the update existing $2a hashes therefore no longer match
hashes generated with the new, correct implementation if the
password contains 8bit characters. For system logins via PAM the
pam_unix2 module activates a compat mode and keeps processing
existing $2a hashes with the old algorithm. This ensures no user
gets locked out. New password hashes are created with the id &qt $2y &qt
to unambiguously identify them as generated with the correct
implementation.
Services that do not use PAM but do use crypt() to store passwords
using the blowfish hash do not have such a compat mode. That means
users with 8bit passwords that use such services will not be able to
log in anymore after the update. As workaround administrators may
edit the service's password database and change stored hashes from
$2a to $2x. This will result in crypt() using the old algorithm.
Users should be required to change their passwords to make sure they
are migrated to the correct algorithm.");
script_tag(name:"solution", value:"Please install the updated package(s).");
script_tag(name:"vuldetect", value:"Checks if a vulnerable package version is present on the target host.");
script_tag(name:"qod_type", value:"package");
script_tag(name:"solution_type", value:"VendorFix");
exit(0);
}
include("revisions-lib.inc");
include("pkg-lib-rpm.inc");
release = rpm_get_ssh_release();
if(!release)
exit(0);
res = "";
report = "";
if(release == "openSUSE11.4") {
if(!isnull(res = isrpmvuln(pkg:"glibc", rpm:"glibc~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-devel", rpm:"glibc-devel~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-html", rpm:"glibc-html~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-i18ndata", rpm:"glibc-i18ndata~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-info", rpm:"glibc-info~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-locale", rpm:"glibc-locale~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-obsolete", rpm:"glibc-obsolete~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-profile", rpm:"glibc-profile~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt", rpm:"libxcrypt~3.0.3~9.10.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt-devel", rpm:"libxcrypt-devel~3.0.3~9.10.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"nscd", rpm:"nscd~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pam-modules", rpm:"pam-modules~11.4~3.4.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils", rpm:"pwdutils~3.2.14~4.5.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-plugin-audit", rpm:"pwdutils-plugin-audit~3.2.14~4.5.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-rpasswd", rpm:"pwdutils-rpasswd~3.2.14~4.5.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-32bit", rpm:"glibc-32bit~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-devel-32bit", rpm:"glibc-devel-32bit~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-locale-32bit", rpm:"glibc-locale-32bit~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-profile-32bit", rpm:"glibc-profile-32bit~2.11.3~12.17.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt-32bit", rpm:"libxcrypt-32bit~3.0.3~9.10.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pam-modules-32bit", rpm:"pam-modules-32bit~11.4~3.4.1", rls:"openSUSE11.4"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-rpasswd-32bit", rpm:"pwdutils-rpasswd-32bit~3.2.14~4.5.1", rls:"openSUSE11.4"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
if(release == "openSUSE11.3") {
if(!isnull(res = isrpmvuln(pkg:"glibc", rpm:"glibc~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-devel", rpm:"glibc-devel~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-html", rpm:"glibc-html~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-i18ndata", rpm:"glibc-i18ndata~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-info", rpm:"glibc-info~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-locale", rpm:"glibc-locale~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-obsolete", rpm:"glibc-obsolete~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-profile", rpm:"glibc-profile~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt", rpm:"libxcrypt~3.0.3~5.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt-devel", rpm:"libxcrypt-devel~3.0.3~5.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"nscd", rpm:"nscd~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pam-modules", rpm:"pam-modules~11.3~0.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils", rpm:"pwdutils~3.2.10~2.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-plugin-audit", rpm:"pwdutils-plugin-audit~3.2.10~2.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-rpasswd", rpm:"pwdutils-rpasswd~3.2.10~2.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-32bit", rpm:"glibc-32bit~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-devel-32bit", rpm:"glibc-devel-32bit~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-locale-32bit", rpm:"glibc-locale-32bit~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"glibc-profile-32bit", rpm:"glibc-profile-32bit~2.11.2~3.5.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libxcrypt-32bit", rpm:"libxcrypt-32bit~3.0.3~5.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pam-modules-32bit", rpm:"pam-modules-32bit~11.3~0.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"pwdutils-rpasswd-32bit", rpm:"pwdutils-rpasswd-32bit~3.2.10~2.3.1", rls:"openSUSE11.3"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
exit(0);