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

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

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.

Technologies: Opensuse Leap. Vendors: Opensuse.

Quick answers

Is CVE-2016-9436 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2016-9436 being exploited in the wild.
How severe is CVE-2016-9436?
Medium severity, with a CVSS score of 6.5, published 20 January 2017.
Which products and versions are affected?
tats w3m before 0.5.3+git20161009.
Is there a fix for CVE-2016-9436?
A patch was published on 2016-10-09: Fix committed to w3m repository Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2016-9436 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2016-9436?
Check whether you run Opensuse Leap or Tats W3m. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.