[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [suse-security] Does Rich Text hold the same risks as html ?



jfweber@xxxxxxxxxxxxx wrote:
> And hence should be banned or tightly controlled locations where it can 
> be read? OR is it a completely other kind of animal, as "safe".. at 
> least as safe as anything coming thru the system sent by people you 
> may, or not, know. 
>   
Is Rich Text "safe"? They're all just ones and zeros :) What makes
something "unsafe" is the software you use to interpret those ones and
zeros. Roughly speaking, the more interpretation you do to the data, the
less safe it is, to wit:

    * Printed papers: mostly safe, unless it is a scam and you can get a
      human to do something dangerous.
    * Plain ASCII: pretty safe. It is hard to make plain ASCII do
      something dangerous all by itself, if all you do is render it to
      an xterm or such.
          o Danger: what if there is an arcane exploitable buffer
            overflow in your xterm-alike of choice?
          o Danger: embedded backspace characters can make the text say
            things it doesn't seem to say. If you digitally sign it, you
            may be agreeing to something you didn't mean to.
    * 8-bit ASCII: enables some international alphabets, and pretty
      ASCII art animation if you cat the file to a vt100-compatible
      terminal.
          o Danger: international alphabets have enabled people register
            domains that seem to say "microsoft.com" except that some of
            the letters are Cryllic, so it isn't really the Microsoft
            you think it is, even though it has a valid SSL certificate.
    * Rich Text: While I use it every day (I really like HTML in my
      e-mail in Thunderbird, it enables a lot of expression) I am not
      technically familiar with the difference between this and HTML.
      Presumably some kind of restricted subset.
          o Danger: HTML rendering is complex, leading to a spotted
            history of buffer overflows & such in the rendering engines.
            Thus making it more likely possible to create malware e-mail
            that 0wns the mail client.
          o Danger: someone else has mentioned scripting issues. I'm not
            clear on what good Rich Text is if it doesn't strip away
            scripts.
          o Web Bugs: the message can include images, either overt
            pretty images, or hidden images that are 1x1 pixels and
            transparent. If these images are href's to a remote server,
            then the server operator can tell every time you view the
            message. Older Rich Text mail clients just displayed these
            images all the time :( but modern Thunderbird has a security
            setting for whether to display embedded images always, only
            if the images are attached to the mail, or never.
    * HTML: similar risks to Rich Text, but without whatever benefits
      the Rich Text restrictions confer.
          o Danger: XSS (Cross Site Scripting). For web sites that allow
            users to upload content, attackers can upload content that
            is not what it appears to be, and when you trust the hosting
            site and click on it, bad things happen.
          o Danger: more scripting stuff.
          o Danger: more complex rendering due to additional enabled
            features vs. Rich Text, so more opportunity for remotely
            exploitable flaws.
    * PDF: Did you know that the PDF standard allows for embedded
      Javascript? And that the Adobe Acrobat viewer executes this
      Javascript? Much much scarier than web bugs.
          o Danger: This Javascript is *explicitly* used by various
            document providers (marketing) to determine who is reading
            their documents.
          o Danger: Javascript is a programming language, and they can
            embed as much malicious code as they want to, running with
            the privilege as the user displaying the document. Do not
            *ever* view a PDF as root.
    * Postscript: This *is* a programming language. You can write
      malware in Postscript.
          o Danger: There has been an incident where there was a
            vulnerability in an HP printer, and suitable malware could
            0wn the printer and from there use it to attack the rest of
            your network.
          o Danger: DoS. I have seen a postscript file that renders a
            lovely raytrace of a scene with a mirrored ball on a tilted
            checkerboard. It is only a few KB long, prints only a single
            page, and can run inside your printer for hours ...
    * Instant Messages: There is a *long* history of remotely
      exploitable vulnerabilities in multiple IM clients.
          o Danger: nasty message senders can 0wn your IM client, and
            from there 0wn either your user account or your machine.
    * ActiveX: a Windows issue, this is *supposed* to be safe-to-run
      code, but in practice ActiveX + XSS leads to wholesale
      vulnerability, which is much of the core of the spyware problem
      that Windows users have.
    * MS Office .doc files: MS Office documents (.doc files, .ppt files,
      .xls files) all embed VBScript code in the format. The MS document
      handlers auto-execute the code when you open the documents,
      allowing the transmission of malware.
          o Danger: this mis-feature of MS architecture is a principle
            cause of the virus problem. Linux is relatively safe so long
            as VBScript doesn't auto-run when opened in OpenOffice or
            similar Linux applications.
    * Actual Code: If someone sends a .exe file to a Windows user, or a
      binary executable to a Linux user, and they actually run it, then
      arbitrarily bad things can happen.
    * Caveat: this is not a complete list ...

So as you can see, the safety issue is not the ones and zeros
themselves, but rather how you interpret them. All the above formats are
perfectly safe if you just pop them open in a byte viewer and look at them.

Unless the text says "There is no Santa Clause" or other such seditious
ideas, in which case, say, showing it to your 5-year old could pose a
threat. But that is a matter of interpretation :)

Broken record solution: security confinement of the interpreting engine.
On my machine, there is an AppArmor profile around my Thunderbird mail
client, my Gaim IM client, and my OpenOffice suite. This means that
AppArmor policy strictly bounds just how dangerous each of these formats
is to interpret.

This message was composed in HTML, and then rendered down into 7-bit
ASCII before sending, for your safety :)

Crispin
-- 
Crispin Cowan, Ph.D.                      http://crispincowan.com/~crispin/
Director of Software Engineering, Novell  http://novell.com
	Olympic Games: The Bi-Annual Festival of Corruption


-- 
Check the headers for your unsubscription address
For additional commands, e-mail: suse-security-help@xxxxxxxx
Security-related bug reports go to security@xxxxxxx, not here