GLSA 201701-31: flex: Potential insecure code generation

Severity:normal
Title:flex: Potential insecure code generation
Date:01/11/2017
Bugs: #589820
ID:201701-31

Synopsis

Flex might generate code with a buffer overflow making applications using such scanners vulnerable to the execution of arbitrary code.

Background

flex is a programming tool used to generate scanners (programs which recognize lexical patterns in text).

Affected packages

Package Vulnerable Unaffected Architecture(s)
sys-devel/flex < 2.6.1 >= 2.6.1 All supported architectures

Description

A heap-based buffer overflow in the yy_get_next_buffer function in Flex might allow context-dependent attackers to cause a denial of service or possibly execute arbitrary code via vectors involving num_to_read.

Impact

Context-dependent attackers could cause a Denial of Service condition or possibly execute arbitrary code with the privileges of the process.

Workaround

There is no known workaround at this time.

Resolution

All flex users should upgrade to the latest version:

      # emerge --sync
      # emerge --ask --oneshot --verbose ">=sys-devel/flex-2.6.1"
    

Packages which depend on flex may need to be recompiled. Tools such as qdepends (included in app-portage/portage-utils) may assist in identifying these packages:

# emerge --oneshot --ask --verbose $(qdepends -CQ sys-devel/flex | sed 's/^/=/')

References

Availability

This GLSA and any updates to it are available for viewing at the Gentoo Security Website: http://security.gentoo.org/glsa/glsa-201701-31.xml

Concerns?

Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.

License

Copyright 2010 Gentoo Foundation, Inc; referenced text belongs to its owner(s). The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.

Thank you!