Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-71888

🗓️ 03 Oct 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 5 Views

Bouncy Castle for Java flaw lets attackers insert unauthenticated attributes into messages.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2026-71888
3 Oct 202608:36
–cve
cvelist
Cvelist
CVE-2026-71888 CMS AuthenticatedData exposes attacker-inserted authAttrs when digestAlgorithm is absent
3 Oct 202608:36
–cvelist
debiancve
Debian CVE
CVE-2026-71888
3 Oct 202608:36
–debiancve
euvd
EUVD
EUVD-2026-91991
3 Oct 202608:36
–euvd
nvd
NVD
CVE-2026-71888
3 Oct 202609:17
–nvd
osv
OSV
DEBIAN-CVE-2026-71888
3 Oct 202609:17
–osv
osv
OSV
UBUNTU-CVE-2026-71888
5 Oct 202600:00
–osv
ptsecurity
Positive Technologies
PT-2026-104561
3 Oct 202600:00
–ptsecurity
ubuntucve
UbuntuCve
CVE-2026-71888
5 Oct 202600:00
–ubuntucve
vulnrichment
Vulnrichment
CVE-2026-71888 CMS AuthenticatedData exposes attacker-inserted authAttrs when digestAlgorithm is absent
3 Oct 202608:36
–vulnrichment
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(362874);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/03");

  script_cve_id("CVE-2026-71888");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-71888");

  script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
  script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.

  - In Bouncy Castle for Java before 1.86, the streaming CMS AuthenticatedData parser accepted a message whose
    digestAlgorithm and authAttrs fields disagreed about whether authenticated attributes were present. RFC
    5652 sec. 9.1 pairs the two, requiring that authAttrs be present whenever digestAlgorithm is, and sec. 9.2
    makes the MAC cover the DER encoding of authAttrs when they are present and the eContent OCTET STRING
    directly when they are not. CMSAuthenticatedDataParser has to choose between those two in its constructor,
    before it can reach authAttrs, which comes later in the SEQUENCE, so it chose on digestAlgorithm alone:
    for a message with digestAlgorithm absent but authAttrs present it verified the content MAC and then
    returned the attributes through getAuthAttrs() as though they had been authenticated, when the MAC had
    never covered them. An attacker able to modify a message in transit could insert an authenticated
    attribute, such as an RFC 2634 ESSSecurityLabel, into an otherwise valid message while holding neither the
    key-encryption key nor the content-MAC key, and an application taking an authorization, routing or
    labelling decision from those attributes would act on attacker-chosen values. The content itself remained
    MAC-bound. asn1.cms.AuthenticatedData now rejects the mismatched pairing when parsing and
    CMSAuthenticatedDataParser cross-checks the two fields once authAttrs is read. This is a variant of
    CVE-2026-59642, which bound the content to the MAC for messages that legitimately carry authAttrs, and
    which does not address this case. This issue also affects Bouncy Castle for Java LTS before 2.73.13, and
    Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series) and
    2.1.13 (2.1.X series), and bcutil-fips 2.0.8 (2.0.X series) and 2.1.8 (2.1.X series). (CVE-2026-71888)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-71888");
  script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_supplemental", value:"CVSS:4.0/U:Amber");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-71888");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_set_attribute(attribute:"vendor_unpatched", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/10/03");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/03");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:bouncycastle");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
  script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
  script_require_ports("Host/OS/Debian Linux-12", "Host/OS/Debian Linux-13");

  exit(0);
}

if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);

include('linux_unpatched.inc');

var distro_constraints_array = {
  "Debian Linux-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "libbcjmail-java"},
          {"reference": "libbcmail-java"},
          {"reference": "libbcpg-java"},
          {"reference": "libbcpkix-java"},
          {"reference": "libbcprov-java"},
          {"reference": "libbctls-java"},
          {"reference": "libbcutil-java"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "libbcjmail-java"},
          {"reference": "libbcmail-java"},
          {"reference": "libbcpg-java"},
          {"reference": "libbcpkix-java"},
          {"reference": "libbcprov-java"},
          {"reference": "libbctls-java"},
          {"reference": "libbcutil-java"}
        ]
      }
    ]
  }
};

var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');

var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
    var third_party_vendors = distro_constraints_values['third_party'];
    if (!empty_or_null(third_party_vendors)) {
        var vendor;
        foreach vendor (third_party_vendors) {
            if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
        }
    }
}

var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);

if (!empty_or_null(report))
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : report
  );
  exit(0);
}
else
{
  audit(AUDIT_HOST_NOT, 'affected');
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

03 Oct 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 48.7
EPSS0.00112
SSVC
5