Quantum Secular Labs / Blog / Advisories

CVE-2012-3966: Mozilla Firefox: Memory corruption

CVE-2012-3966 has a CVSS v2 base score of 10.0 (the maximum on that scale) and affects Mozilla Firefox. Per its scoring, it can be exploited over the network, without authentication. The scored impact on confidentiality, integrity and availability is the highest available.

Vulnerability description

Mozilla Firefox before 15.0, Firefox ESR 10.x before 10.0.7, Thunderbird before 15.0, Thunderbird ESR 10.x before 10.0.7, and SeaMonkey before 2.12 allow remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a negative height value in a BMP image within a .ICO file, related to (1) improper handling of the transparency bitmask by the nsICODecoder component and (2) improper processing of the alpha channel by the nsBMPDecoder component.

Severity breakdown

CVSS v2.0 10.0: AV:N/AC:L/Au:N/C:C/I:C/A:C

  • Access vector: Network. Exploitable remotely over the network.
  • Access complexity: Low. No special conditions are required.
  • Authentication: None. No authentication is needed.
  • Confidentiality impact: Complete. Total information disclosure.
  • Integrity impact: Complete. Total loss of integrity.
  • Availability impact: Complete. Total shutdown of the component.

Underlying weakness

CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer

The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary.

Affected products

  • Mozilla Firefox: 10.0; 10.0.1; 10.0.2; 10.0.3; 10.0.4; 10.0.5; 10.0.6; up to and including 14.0; 1.0; 1.0 preview_release; 1.0.1; 1.0.2
  • Mozilla Thunderbird: up to and including 14.0; 1.0; 1.0.1; 1.0.2; 1.0.3; 1.0.4; 1.0.5; 1.0.5 beta; 1.0.6; 1.0.7; 1.0.8; 1.5
  • Mozilla Seamonkey: up to and including 2.11; 2.0; 2.0 alpha_1; 2.0 alpha_2; 2.0 alpha_3; 2.0 beta_1; 2.0 beta_2; 2.0 rc1; 2.0 rc2; 2.0.1; 2.0.2; 2.0.3
  • Mozilla Thunderbird Esr: 10.0; 10.0.1; 10.0.2; 10.0.3; 10.0.4; 10.0.5; 10.0.6

References