Junglewise Threat Intelligence

CVE-2016-9436: Tats w3m uninitialized value in parsetagx.c

CVE-2016-9436 · Severity: medium · CVSS 6.5 · Published 2017-01-20

Technologies: Opensuse Leap. Vendors: Opensuse.

Executive brief

w3m is a text-based web browser used to view websites in a terminal environment. A vulnerability exists where the browser fails to properly handle certain HTML tags, such as the italics tag. An attacker could use a specially crafted web page to cause the browser to crash, resulting in a denial of service for the user.

Technical details

A vulnerability exists in the `parse_tag` function within `parsetagx.c` of w3m due to the use of uninitialized values. Specifically, the application fails to properly initialize the `tagname` buffer or associated state when encountering certain HTML tags, such as the `<i>` tag. A remote attacker can exploit this by providing a maliciously crafted HTML file that triggers a conditional jump or move based on these uninitialized values, leading to an application crash (Denial of Service). The issue was identified using Valgrind and AFL-fuzz and is addressed by ensuring proper initialization (e.g., setting `tagname[0] = '\0'`) in the parser. This was patched in the git commit 33509cc81ec5f2ba44eb6fd98bd5c1b5873e46bd.

Affected products

  • tats w3m before 0.5.3+git20161009

Timeline

  • 2016-08-17: disclosed: Issue reported on GitHub by user kcwu
  • 2016-10-09: patched: Fix committed to w3m repository
  • 2017-01-20: advisory: NVD publication date

References

Related threats