Secunia Research Advisory

Link Grammar "separate_sentence()" Buffer Overflow


====================================================================== 

                     Secunia Research 07/11/2007

          - Link Grammar "separate_sentence()" Buffer Overflow -

====================================================================== 
Table of Contents

Affected Software....................................................1
Severity.............................................................2
Vendor's Description of Software.....................................3
Description of Vulnerability.........................................4
Solution.............................................................5
Time Table...........................................................6
Credits..............................................................7
References...........................................................8
About Secunia........................................................9
Verification........................................................10

====================================================================== 
1) Affected Software 

* Link Grammar 4.1b.

NOTE: Other versions may also be affected.

====================================================================== 
2) Severity 

Rating: Moderately critical
Impact: System access
Where:  Remote

====================================================================== 
3) Vendor's Description of Software 

"The Link Grammar Parser is a syntactic parser of English, based on
link grammar, an original theory of English syntax. Given a sentence,
the system assigns to it a syntactic structure, which consists of a 
set of labeled links connecting pairs of words. The parser also 
produces a "constituent" representation of a sentence (showing noun 
phrases, verb phrases, etc.)"

Product Link:
http://www.link.cs.cmu.edu/link/

====================================================================== 
4) Description of Vulnerability

Secunia Research has discovered a vulnerability in Link Grammar, which
can be exploited by malicious people to compromise an application 
using the affected code.

The vulnerability is caused due to a boundary error within the
"separate_word()" function in tokenize.c when processing overly long
words (over 61 bytes). This can be exploited to cause a stack-based
buffer overflow via a specially crafted sentence passed to the
"separate_sentence()" function.

Successful exploitation allows execution of arbitrary code.

====================================================================== 
5) Solution 

Do not parse untrusted text using the affected function.

====================================================================== 
6) Time Table 

23/10/2007 - Vendor notified.
07/11/2007 - Public disclosure.

====================================================================== 
7) Credits 

Discovered by Alin Rad Pop, Secunia Research.

====================================================================== 
8) References

The Common Vulnerabilities and Exposures (CVE) project has assigned 
CVE-2007-5395 for the vulnerability.

====================================================================== 
9) About Secunia

Secunia offers vulnerability management solutions to corporate
customers with verified and reliable vulnerability intelligence
relevant to their specific system configuration:

https://www.flexera.com/

Secunia also provides a publicly accessible and comprehensive advisory
database as a service to the security community and private 
individuals, who are interested in or concerned about IT-security.

Secunia believes that it is important to support the community and to
do active vulnerability research in order to aid improving the 
security and reliability of software in general.

Secunia regularly hires new skilled team members. Check the URL below
to see currently vacant positions:

https://www.flexera.com/company/careers

Secunia offers a FREE mailing list called Secunia Security Advisories:

https://www.flexera.com/secunia_security_advisories/ 

====================================================================== 
10) Verification 

Please verify this advisory by visiting the Secunia website:
https://www.flexera.com/about-us/secunia-research/advisories/sr-2007-78.html

Complete list of vulnerability reports published by Secunia Research:
https://www.flexera.com/about-us/secunia-research/advisories/

======================================================================