Bug 1632834 (CVE-2018-17294)

Summary: CVE-2018-17294 liblouis: Stack-based buffer over-read in matchCurrentInput function lou_translateString.c
Product: [Other] Security Response Reporter: Pedro Sampaio <psampaio>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: martin.gieseking, mclasen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: liblouis 3.7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-25 22:19:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1632836, 1632837    
Bug Blocks: 1632835    

Description Pedro Sampaio 2018-09-25 15:58:51 UTC
The matchCurrentInput function inside lou_translateString.c of Liblouis prior to 3.7 does not check the input string's length, allowing attackers to cause a denial of service (application crash via out-of-bounds read) by crafting an input file with certain translation dictionaries.

Upstream patch:

https://github.com/liblouis/liblouis/commit/5e4089659bb49b3095fa541fa6387b4c40d7396e

Upstream issue:

https://github.com/liblouis/liblouis/issues/635

Comment 1 Pedro Sampaio 2018-09-25 15:59:50 UTC
Created liblouis tracking bugs for this issue:

Affects: fedora-all [bug 1632836]

Comment 3 Scott Gayou 2018-10-30 21:26:20 UTC
Rebuilt with ASAN. No crashes, no errors. Same with Valgrind. Source has similar potentially vulnerable code, i.e. matchcurrentInput, but since this didn't trigger and is low, closing as NOTAFFECTED instead of going deeper into this.