Vulnerability Database

391,289

Total vulnerabilities in the database

CVE-2009-3875 — sun / jdk

Cryptographic Issues

The MessageDigest.isEqual function in Java Runtime Environment (JRE) in Sun Java SE in JDK and JRE 5.0 before Update 22, JDK and JRE 6 before Update 17, SDK and JRE 1.3.x before 1.3.1_27, and SDK and JRE 1.4.x before 1.4.2_24 allows remote attackers to spoof HMAC-based digital signatures, and possibly bypass authentication, via unspecified vectors related to "timing attack vulnerabilities," aka Bug Id 6863503.

  • Published: Nov 5, 2009
  • Updated: Sep 29, 2026
  • CVE: CVE-2009-3875
  • Severity: Medium
  • Exploit:
  • CISA KEV:

CVSS v2:

  • Severity: Medium
  • Score: 5
  • AV:N/AC:L/Au:N/C:N/I:P/A:N

CWEs:

Software Affected versions
sun / jdk = 1.5.0-update1
sun / jdk = 1.5.0-update10
sun / jdk = 1.5.0-update11
sun / jdk = 1.5.0-update11_b03
sun / jdk = 1.5.0-update12
sun / jdk = 1.5.0-update13
sun / jdk = 1.5.0-update14
sun / jdk = 1.5.0-update15
sun / jdk = 1.5.0-update16
sun / jdk = 1.5.0-update17
sun / jdk = 1.5.0-update18
sun / jdk = 1.5.0-update19
sun / jdk = 1.5.0-update2
sun / jdk = 1.5.0-update20
sun / jdk = 1.5.0-update21
sun / jdk = 1.5.0-update3
sun / jdk = 1.5.0-update4
sun / jdk = 1.5.0-update5
sun / jdk = 1.5.0-update6
sun / jdk = 1.5.0-update7
sun / jdk = 1.5.0-update7_b03
sun / jdk = 1.5.0-update8
sun / jdk = 1.5.0-update9
sun / jdk = 1.6.0-update1
sun / jdk = 1.6.0-update10
sun / jdk = 1.6.0-update11
sun / jdk = 1.6.0-update12
sun / jdk = 1.6.0-update13
sun / jdk = 1.6.0-update14
sun / jdk = 1.6.0-update15
sun / jdk = 1.6.0-update16
sun / jdk = 1.6.0-update2
sun / jdk = 1.6.0-update3
sun / jdk = 1.6.0-update4
sun / jdk = 1.6.0-update5
sun / jdk = 1.6.0-update6
sun / jdk = 1.6.0-update7
sun / jdk = 1.6.0-update8
sun / jdk = 1.6.0-update9
sun / jre = 1.4.2_1
sun / jre = 1.4.2_2
sun / jre = 1.4.2_02
sun / jre = 1.4.2_03
sun / jre = 1.4.2_3
sun / jre = 1.4.2_4
sun / jre = 1.4.2_04
sun / jre = 1.4.2_05
sun / jre = 1.4.2_5
sun / jre = 1.4.2_06
sun / jre = 1.4.2_6
sun / jre = 1.4.2_7
sun / jre = 1.4.2_07
sun / jre = 1.4.2_8
sun / jre = 1.4.2_08
sun / jre = 1.4.2_09
sun / jre = 1.4.2_9
sun / jre = 1.4.2_10
sun / jre = 1.4.2_11
sun / jre = 1.4.2_12
sun / jre = 1.4.2_13
sun / jre = 1.4.2_14
sun / jre = 1.4.2_15
sun / jre = 1.4.2_16
sun / jre = 1.4.2_17
sun / jre = 1.4.2_18
sun / jre = 1.4.2_19
sun / jre = 1.4.2_20
sun / jre = 1.4.2_21
sun / jre = 1.4.2_22
sun / jre = 1.4.2_23
sun / jre = 1.5.0-update1
sun / jre = 1.5.0-update10
sun / jre = 1.5.0-update11
sun / jre = 1.5.0-update12
sun / jre = 1.5.0-update13
sun / jre = 1.5.0-update14
sun / jre = 1.5.0-update15
sun / jre = 1.5.0-update16
sun / jre = 1.5.0-update17
sun / jre = 1.5.0-update18
sun / jre = 1.5.0-update19
sun / jre = 1.5.0-update2
sun / jre = 1.5.0-update20
sun / jre = 1.5.0-update21
sun / jre = 1.5.0-update3
sun / jre = 1.5.0-update4
sun / jre = 1.5.0-update5
sun / jre = 1.5.0-update6
sun / jre = 1.5.0-update7
sun / jre = 1.5.0-update8
sun / jre = 1.5.0-update9
sun / jre = 1.6.0-update_1
sun / jre = 1.6.0-update_2
sun / jre = 1.6.0-update_3
sun / jre = 1.6.0-update10
sun / jre = 1.6.0-update11
sun / jre = 1.6.0-update12
sun / jre = 1.6.0-update13
sun / jre = 1.6.0-update14
sun / jre = 1.6.0-update15
sun / jre = 1.6.0-update16
sun / jre = 1.6.0-update4
sun / jre = 1.6.0-update5
sun / jre = 1.6.0-update6
sun / jre = 1.6.0-update7
sun / jre = 1.6.0-update8
sun / jre = 1.6.0-update9
sun / sdk = 1.4.2_01
sun / sdk = 1.4.2_1
sun / sdk = 1.4.2_2
sun / sdk = 1.4.2_02
sun / sdk = 1.4.2_03
sun / sdk = 1.4.2_3
sun / sdk = 1.4.2_04
sun / sdk = 1.4.2_4
sun / sdk = 1.4.2_5
sun / sdk = 1.4.2_05
sun / sdk = 1.4.2_6
sun / sdk = 1.4.2_06
sun / sdk = 1.4.2_07
sun / sdk = 1.4.2_7
sun / sdk = 1.4.2_8
sun / sdk = 1.4.2_08
sun / sdk = 1.4.2_09
sun / sdk = 1.4.2_9
sun / sdk = 1.4.2_10
sun / sdk = 1.4.2_11
sun / sdk = 1.4.2_12
sun / sdk = 1.4.2_13
sun / sdk = 1.4.2_14
sun / sdk = 1.4.2_15
sun / sdk = 1.4.2_16
sun / sdk = 1.4.2_17
sun / sdk = 1.4.2_18
sun / sdk = 1.4.2_19
sun / sdk = 1.4.2_20
sun / sdk = 1.4.2_21
sun / sdk = 1.4.2_22
sun / sdk = 1.4.2_23
sun / jre = 1.3.1_1
sun / jre = 1.3.1_01
sun / jre = 1.3.1_01a
sun / jre = 1.3.1_02
sun / jre = 1.3.1_2
sun / jre = 1.3.1_03
sun / jre = 1.3.1_3
sun / jre = 1.3.1_4
sun / jre = 1.3.1_04
sun / jre = 1.3.1_05
sun / jre = 1.3.1_5
sun / jre = 1.3.1_06
sun / jre = 1.3.1_6
sun / jre = 1.3.1_07
sun / jre = 1.3.1_7
sun / jre = 1.3.1_8
sun / jre = 1.3.1_08
sun / jre = 1.3.1_9
sun / jre = 1.3.1_09
sun / jre = 1.3.1_10
sun / jre = 1.3.1_11
sun / jre = 1.3.1_12
sun / jre = 1.3.1_13
sun / jre = 1.3.1_14
sun / jre = 1.3.1_15
sun / jre = 1.3.1_16
sun / jre = 1.3.1_17
sun / jre = 1.3.1_18
sun / jre = 1.3.1_19
sun / jre = 1.3.1_20
sun / jre = 1.3.1_21
sun / jre = 1.3.1_22
sun / jre = 1.3.1_23
sun / jre = 1.3.1_24
sun / jre = 1.3.1_25
sun / sdk = 1.3.1_01
sun / sdk = 1.3.1_01a
sun / sdk = 1.3.1_2
sun / sdk = 1.3.1_02
sun / sdk = 1.3.1_03
sun / sdk = 1.3.1_3
sun / sdk = 1.3.1_4
sun / sdk = 1.3.1_04
sun / sdk = 1.3.1_5
sun / sdk = 1.3.1_05
sun / sdk = 1.3.1_6
sun / sdk = 1.3.1_06
sun / sdk = 1.3.1_7
sun / sdk = 1.3.1_07
sun / sdk = 1.3.1_8
sun / sdk = 1.3.1_08
sun / sdk = 1.3.1_9
sun / sdk = 1.3.1_09
sun / sdk = 1.3.1_10
sun / sdk = 1.3.1_11
sun / sdk = 1.3.1_12
sun / sdk = 1.3.1_13
sun / sdk = 1.3.1_14
sun / sdk = 1.3.1_15
sun / sdk = 1.3.1_16
sun / sdk = 1.3.1_17
sun / sdk = 1.3.1_18
sun / sdk = 1.3.1_19
sun / sdk = 1.3.1_20
sun / sdk = 1.3.1_21
sun / sdk = 1.3.1_22
sun / sdk = 1.3.1_23
sun / sdk = 1.3.1_24
sun / sdk = 1.3.1_25

Frequently Asked Questions

A security vulnerability is a weakness in software, hardware, or configuration that can be exploited to compromise confidentiality, integrity, or availability. Many vulnerabilities are tracked as CVEs (Common Vulnerabilities and Exposures), which provide a standardized identifier so teams can coordinate patching, mitigation, and risk assessment across tools and vendors.

CVSS (Common Vulnerability Scoring System) estimates technical severity, but it doesn't automatically equal business risk. Prioritize using context like internet exposure, affected asset criticality, known exploitation (proof-of-concept or in-the-wild), and whether compensating controls exist. A "Medium" CVSS on an exposed, production system can be more urgent than a "Critical" on an isolated, non-production host.

A vulnerability is the underlying weakness. An exploit is the method or code used to take advantage of it. A zero-day is a vulnerability that is unknown to the vendor or has no publicly available fix when attackers begin using it. In practice, risk increases sharply when exploitation becomes reliable or widespread.

Recurring findings usually come from incomplete Asset Discovery, inconsistent patch management, inherited images, and configuration drift. In modern environments, you also need to watch the software supply chain: dependencies, containers, build pipelines, and third-party services can reintroduce the same weakness even after you patch a single host. Unknown or unmanaged assets (often called Shadow IT) are a common reason the same issues resurface.

Use a simple, repeatable triage model: focus first on externally exposed assets, high-value systems (identity, VPN, email, production), vulnerabilities with known exploits, and issues that enable remote code execution or privilege escalation. Then enforce patch SLAs and track progress using consistent metrics so remediation is steady, not reactive.

SynScan combines attack surface monitoring and continuous security auditing to keep your inventory current, flag high-impact vulnerabilities early, and help you turn raw findings into a practical remediation plan.