flex: Potential insecure code generation — GLSA 201701-31

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

Affected packages

sys-devel/flex on all architectures
Affected versions < 2.6.1
Unaffected versions >= 2.6.1

Background

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

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

Release date
January 11, 2017

Latest revision
January 11, 2017: 1

Severity
normal

Exploitable
remote

Bugzilla entries