// For flags

CVE-2014-0210

libXfont: unvalidated length fields when parsing xfs protocol replies

Severity Score

9.8
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Multiple buffer overflows in X.Org libXfont before 1.4.8 and 1.4.9x before 1.4.99.901 allow remote font servers to execute arbitrary code via a crafted xfs protocol reply to the (1) _fs_recv_conn_setup, (2) fs_read_open_font, (3) fs_read_query_info, (4) fs_read_extent_info, (5) fs_read_glyphs, (6) fs_read_list, or (7) fs_read_list_info function.

Múltiples desbordamientos de buffer en X.Org libXfont anterior a 1.4.8 y 1.4.9x anterior a 1.4.99.901 permiten a servidores remotos de fuentes ejecutar código arbitrario a través de una respuesta de protocolo xfs manipulada hacia la función (1) _fs_recv_conn_setup, (2) fs_read_open_font, (3) fs_read_query_info, (4) fs_read_extent_info, (5) fs_read_glyphs, (6) fs_read_list o (7) fs_read_list_info.

Multiple out-of-bounds write flaws were found in the way libXfont parsed replies received from an X.org font server. A malicious X.org server could cause an X client to crash or, possibly, execute arbitrary code with the privileges of the X.Org server.

Ilja van Sprundel discovered that libXfont incorrectly handled font metadata file parsing. A local attacker could use this issue to cause libXfont to crash, or possibly execute arbitrary code in order to gain privileges. Ilja van Sprundel discovered that libXfont incorrectly handled X Font Server replies. A malicious font server could return specially-crafted data that could cause libXfont to crash, or possibly execute arbitrary code. The bdf parser reads a count for the number of properties defined in a font from the font file, and allocates arrays with entries for each property based on that count. It never checked to see if that count was negative, or large enough to overflow when multiplied by the size of the structures being allocated, and could thus allocate the wrong buffer size, leading to out of bounds writes. If the bdf parser failed to parse the data for the bitmap for any character, it would proceed with an invalid pointer to the bitmap data and later crash when trying to read the bitmap from that pointer. The bdf parser read metrics values as 32-bit integers, but stored them into 16-bit integers. Overflows could occur in various operations leading to out-of-bounds memory access.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
Partial
Attack Vector
Adjacent
Attack Complexity
High
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2013-12-03 CVE Reserved
  • 2014-05-14 CVE Published
  • 2024-08-06 CVE Updated
  • 2025-03-30 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer
  • CWE-787: Out-of-bounds Write
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
<= 1.4.7
Search vendor "X" for product "Libxfont" and version " <= 1.4.7"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.3
Search vendor "X" for product "Libxfont" and version "1.2.3"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.4
Search vendor "X" for product "Libxfont" and version "1.2.4"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.5
Search vendor "X" for product "Libxfont" and version "1.2.5"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.6
Search vendor "X" for product "Libxfont" and version "1.2.6"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.7
Search vendor "X" for product "Libxfont" and version "1.2.7"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.8
Search vendor "X" for product "Libxfont" and version "1.2.8"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.2.9
Search vendor "X" for product "Libxfont" and version "1.2.9"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.3.0
Search vendor "X" for product "Libxfont" and version "1.3.0"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.3.1
Search vendor "X" for product "Libxfont" and version "1.3.1"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.3.2
Search vendor "X" for product "Libxfont" and version "1.3.2"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.3.3
Search vendor "X" for product "Libxfont" and version "1.3.3"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.3.4
Search vendor "X" for product "Libxfont" and version "1.3.4"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.0
Search vendor "X" for product "Libxfont" and version "1.4.0"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.1
Search vendor "X" for product "Libxfont" and version "1.4.1"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.2
Search vendor "X" for product "Libxfont" and version "1.4.2"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.3
Search vendor "X" for product "Libxfont" and version "1.4.3"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.4
Search vendor "X" for product "Libxfont" and version "1.4.4"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.5
Search vendor "X" for product "Libxfont" and version "1.4.5"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.6
Search vendor "X" for product "Libxfont" and version "1.4.6"
-
Affected
X
Search vendor "X"
Libxfont
Search vendor "X" for product "Libxfont"
1.4.99
Search vendor "X" for product "Libxfont" and version "1.4.99"
-
Affected
Canonical
Search vendor "Canonical"
Ubuntu Linux
Search vendor "Canonical" for product "Ubuntu Linux"
10.04
Search vendor "Canonical" for product "Ubuntu Linux" and version "10.04"
lts
Affected
Canonical
Search vendor "Canonical"
Ubuntu Linux
Search vendor "Canonical" for product "Ubuntu Linux"
12.04
Search vendor "Canonical" for product "Ubuntu Linux" and version "12.04"
lts
Affected
Canonical
Search vendor "Canonical"
Ubuntu Linux
Search vendor "Canonical" for product "Ubuntu Linux"
12.10
Search vendor "Canonical" for product "Ubuntu Linux" and version "12.10"
-
Affected
Canonical
Search vendor "Canonical"
Ubuntu Linux
Search vendor "Canonical" for product "Ubuntu Linux"
13.10
Search vendor "Canonical" for product "Ubuntu Linux" and version "13.10"
-
Affected
Canonical
Search vendor "Canonical"
Ubuntu Linux
Search vendor "Canonical" for product "Ubuntu Linux"
14.04
Search vendor "Canonical" for product "Ubuntu Linux" and version "14.04"
lts
Affected