Great Circle Associates List-Managers
(July 2002)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: HTML is a programming language.
From: Nick Simicich <njs @ scifi . squawk . com>
Date: Mon, 08 Jul 2002 01:23:25 -0400
To: <list-managers @ greatcircle . com>
In-reply-to: <B94DC56F . 46BA9%chuqui @ plaidworks . com>
References: <200207071702 . g67H2N926324 @ mail . rev . net>

At 10:16 AM 2002-07-07 -0700, Chuq Von Rospach wrote:
On 7/7/02 10:02 AM, "Bernie Cosell" <bernie @
fantasyfarm .
com> wrote:

>> On 7 Jul 2002, at 9:39, J C Lawrence wrote:

>> ... Properly tagging
>> and stripping references to non-message hosted content in HTML email
>> without also crippling/stripping the actually useful aspects of HTML
>> email however is a bitch.  Perhaps I've been overlooking the obvious but
>> I've yet to come up with a scheme for that I can't also trivially poke
>> holes in.
>
> What about reading your HTML-email using a rendering client that cannot
> access the Internet [and, while you're at it, doesn't include a
> JavaScript engine and can't do plugins]?

That works. JC is thinking instead of neutering it in the list server.

I think at some point, however, you have to stop babysitting the user.
Protecting them from dangerous code coming through the server is one thing.
Privacy issues ought to be left to the user to resolve, not the server.

Absolutely. In fact, this whole issue of filtering viruses is a complete waste of time. Just forward the viruses to the users and let their virus programs deal with them. And cross site scripting? That is a privacy issue. Just tell users that it is up to them to figure out which scripts are safe to run and which are not --- just because you sent them the scripts from your web site while they were looking at your list archives, well, that is their problem, not yours.

HTML is a programming language. It had pretensions of being a markup language at one point, but that is long gone.

When you allow people to mail you programs, and then you run them through a Microsoft interpreter, eventually people will discover more holes.

Eudora also has a bowdlerized HTML sort-of formatter that does not access img tags, deal with scripts, active X or Java. If it did not, I would not trust Microsoft's formatter, I would figure out something else to do.

By the way, I alluded to something above, and if you did not understand it, I will make it clearer:

You will have to figure out the issues involved in neutering HTML in order to allow your users to view your archives from the web. If you actually attempt to display a mimed message by allowing the user to select the part of the message and then feeding the content to the user with the original type and encoding, then you will, for example, present a text/html message in text/html. And if you do it in the context of your web site, you are introducing a "Cross site scripting vulnerability". In order to do this safely, you have to somehow expurgate the html, removing scripting, and, while you are at it, web bugs to avoid the problems with referrer URLs that may be used to monitor an end user's activities on your web site, and/or expose URLs that might contain authorization tokens (if, for example, you do not use cookies and, instead, load a link to a part inside the message with a parameter that carries authorization).

Since you will have to expurgate the HTML to make it cross site scripting and referrer URL safe, and since this is widely held to be a responsibility of the site that displays the html that they are passed, then you might as well do it upon distribution rather than later when you archive the html.

Since the goal will be to display the stuff in the right character set, and the right type and the right encoding, eventually, everyone will be forced to do something like Mj2 does for their archive viewing --- they use the original mime types, encoding, character sets and so forth to hand the segments to the browser. If someone sends a x-application/virus to the list, in base64, they will dutifully record this in the archives and then, when the virus is viewed, present it (and the browser will likely ask, "Infect or save?")...this is what you are probably going to have to do to make archive segments viewable.

But text/html, so far as I know, has no text/untrusted-html. Javascript in a message segment runs in your site's context, has access to the cookies, to the form variables, and to other such things as that will allow the wily hacker, if they desire to, to log in to the web site that holds the archives as the user. If you decide to display some html, it is your job to clean it up.

And if you plan on archiving these messages and then actually allowing them to be re-played, you have to (a) clean them up or (b) Tell your users that all of the security problems that anyone cares about in your products are fixed.

--
"Forgive him, for he believes that the customs of his tribe are the laws of nature!"
 -- George Bernard Shaw (1856-1950)
Nick Simicich - njs @
scifi .
squawk .
com




References:
Indexed By Date Previous: Re: MUA elitism
From: J C Lawrence <claw @ kanga . nu>
Next: Re: MUA elitism
From: Chuq Von Rospach <chuqui @ plaidworks . com>
Indexed By Thread Previous: Trust/authentication mechanism for SMTP
From: JC Dill <inet-list @ vo . cnchost . com>
Next: Re: MUA elitism
From: J C Lawrence <claw @ kanga . nu>

Google
 
Search Internet Search www.greatcircle.com