Lyris ListManager 8.95: Add arbitrary administrator to arbitrary list

Risk: Medium
Local: No
Remote: Yes

Advisory: Lyris ListManager 8.95: Add arbitrary administrator to arbitrary list Release Date: 2006-08-30 Application: Lyris ListManager 8.95 Risk: Depends upon your use and business context Vendor site: Overview of Product: "Lyris ListManager is the world's most popular software for creating, sending, and tracking highly effective email campaigns, newsletters, and discussion groups." Details of this Vulnerability: A design flaw in ListManager's web-based administrative interface allows anyone who is an administrator of a list on the server to add an arbitrary user as an administrator to any other list hosted on the same server. Specifically, the form one fills out to add an administrator contains a hidden form field with the name of the list to which the administrator will be added. By changing this value and submitting the form (using tools like TamperData for FireFox), you can add an arbitrary user as an administrator for an arbitrary list. Here is a sample of these hidden form fields: <!-- START OF - save cgi variables in hidden fields --> <input type="hidden" name="MEMBERS_.AppNeeded_" value="F"> <input type="hidden" name="MEMBERS_.CleanAuto_" value="F"> <input type="hidden" name="MEMBERS_.DateJoined_" value="2006-08-30 20:20:32"> <input type="hidden" name="MEMBERS_.EnableWYSIWYG_" value="T"> <input type="hidden" name="MEMBERS_.IsListAdm_" value="T"> <input type="hidden" name="MEMBERS_.List_" value="[INSERT TARGET LIST HERE]"> <input type="hidden" name="MEMBERS_.MailFormat_" value="M"> <input type="hidden" name="MEMBERS_.MemberType_" value="normal"> <input type="hidden" name="MEMBERS_.NoRepro_" value="F"> <input type="hidden" name="MEMBERS_.NotifySubm_" value="T"> <input type="hidden" name="MEMBERS_.NumAppNeed_" value="0"> <input type="hidden" name="MEMBERS_.RcvAdmMail_" value="T"> <input type="hidden" name="MEMBERS_.ReadsHtml_" value="F"> <input type="hidden" name="MEMBERS_.ReceiveAck_" value="F"> <input type="hidden" name="MEMBERS_.SubType_" value="mail"> <input type="hidden" name="current_tab" value="Basics"> <input type="hidden" name="fields_in_memory" value="FullName_ AppNeeded_ PermissionGroupID_ MemberType_ SubType_ Password_ ExpireDate_ SubType_ CleanAuto_ NoRepro_ UserID_ Comment_ Additional_ ReceiveAck_ NumAppNeed_ List_ DateBounce_ ConfirmDat_ MailFormat_ ReadsHtml_ DateHeld_ DateUnsub_ DateJoined_ UserNameLC_ Domain_ EnableWYSIWYG_ EMAILADDR_ IsListAdm_ RcvAdmMail_ NotifySubm_"> <input type="hidden" name="table_in_memory" value="MEMBERS_"> Further Work: Yesterday I was trying to add a user whose name contained a single-quote, e.g. "O'Conner." Frequently, as I navigated the web interface, I received SQL errors that printed a large portion of the SQL query along with details about what failed. I'm sure there's SQL injection possibilities here as well, I just don't have time to explore. And where there are SQL injection opportunities, there's often opportunities for JavaScript injection. Recommendations to those using ListManager: The risk of this issue to your organization is directly tied to how many administrators you have on your mailing list server, how much you can really trust them, and the value of your mailing lists. That is, a company that has five administrators for a public list shouldn't care. However, if you've got a lot of administrators and a few lists whose discussions would be worth intercepting or disrupting, you're at high-risk for abuse as a result of this vulnerability. Until the vendor solves this and other issues, you're going to have to have a high level of trust in the people administering your lists, or use a different mailing list server. Best of luck. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around

Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024,


Back to Top