Secunia Research: 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:
http://corporate.secunia.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.
http://secunia.com/
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:
http://corporate.secunia.com/secunia_research/33/
Secunia regularly hires new skilled team members. Check the URL below
to see currently vacant positions:
http://secunia.com/secunia_vacancies/
Secunia offers a FREE mailing list called Secunia Security Advisories:
http://secunia.com/secunia_security_advisories/
======================================================================
10) Verification
Please verify this advisory by visiting the Secunia website:
http://secunia.com/secunia_research/2007-78/
Complete list of vulnerability reports published by Secunia Research:
http://secunia.com/secunia_research/
======================================================================