[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Costello, Roger L." <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Wed, 10 Apr 2013 09:43:16 +0000

Hi Folks,

Resolving these entities:

<!ENTITY ha1 "ha">
<!ENTITY ha2 "&ha1;&ha1;"> 
...
<!ENTITY ha128 "&ha127;&ha127;">

requires an amount of memory that is exponential to the number of entities.

Therefore an XML parser requires more computational power than a linear bounded automata [1]. Furthermore:
   
    Linear bounded automata are acceptors for 
    the class of context-sensitive languages. [1]

Therefore XML is more powerful than a context-sensitive language.

Experts recommend [2] that an input language not require more computational power than a deterministic pushdown automata. The XML language requires much more computational power than this.

Therefore, XML as an input language is too complex. It requires too much computational power. It's attack surface is too large (as evidenced by the dozens (hundreds) of vulnerabilities exposed in the last decade).

/Roger

[1] Linear automata: http://en.wikipedia.org/wiki/Linear_bounded_automaton

[2] Input languages should not require a computational power greater than D-PDA: http://www.cs.dartmouth.edu/~sergey/langsec/papers/Sassaman.pdf 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member