<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>August, thanks for putting this issue in the Google tracker<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><a
href="http://code.google.com/p/owasp-esapi-java/issues/detail?id=158">http://code.google.com/p/owasp-esapi-java/issues/detail?id=158</a><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I&#8217;ll have a new URL validation function done using the Java URL
class shortly. I&#8217;ll submit a patch for review before committing it.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks Mostafa + August,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Jim<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> esapi-dev-bounces@lists.owasp.org
[mailto:esapi-dev-bounces@lists.owasp.org] <b>On Behalf Of </b>Mostafa Siraj<br>
<b>Sent:</b> Thursday, October 14, 2010 6:39 PM<br>
<b>To:</b> Esapi-dev@lists.owasp.org; esapi-user@lists.owasp.org<br>
<b>Subject:</b> [Esapi-dev] ESAPI URL validation RX is vulnerable to DoS<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p>Hello,<o:p></o:p></p>

<p>Microsoft release a regex fuzzer tool, the tool purpose is to identify weak
regular expressions that are vulnerable to Denial of Service (DoS)<o:p></o:p></p>

<p>I tested the tool against the default regular expressions in
validation.properties on ESAPI and found that <br>
Validator.URL is vulnerable to DoS<o:p></o:p></p>

<p>Validator.URL=<br>
^(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\:\\'\\/\\\\\\+=&amp;amp;%\\$#_]*)?$<o:p></o:p></p>

<p>Attack Vector=<br>
https\:\/\/8\\\.\.-\w-..w\-hw\w\\\-www-ww-w\.-\w-y.---w\.-ww\-..fw\\\\.--w-w.-\.\w.ww-i\\\9.\.-w--.w..-\-w-\w-a.-\-.\-ww\F\-\2.-O.\.w.ww..w.www1-w-ww\-w-----w--w.\..8w-w-..-.w\..9:0-90-90-90-90-90-90-90-90-90-9:0-90-90-90-90-90-90-9:0-90-90-90-90-90-90-90-90-90-9:0-90-90-90-90-90-90-90-90-90-9:0-90-90-90-90-90-90-9\/a8bL=gqolzH+#wM029=z$z:rb42,#D6WKAz_l#T_;#w#lweJ=$%ya.:=$a:d/3lw,A94i8S5;+va'gwU;%Z8,2V450#bLrltP+dt;zk%AVgk+5'A##xk=A.#=2=e2H_?x+99/Azch9n:e=6E2+:a61?+,;\1f2oTKG0,R=D_zdC&amp;ZsjiIv#G1H1tz8$4,#zFfnv93MAx#50++?NB:A=PSe#&amp;vXPQ7/Ac/O+cz'j;14y=Y'\qe\/_#Kn6Pc.y4%jF;=pt'Z_2_%U0i0n%RYTaqtqfLv4+#Lq%=s+A?W#X?Qx17Z2ge=3I,;A:_a:MBf,2E0N++=u6CzeE8FZ?L0j'#aS1h;\+?a,yz&amp;b6z5.kD+_k8f=0&amp;5+5=6p/zSPj3YRY0%_k#\Cxp#L.+k;3x?h?9+,.sr-<o:p></o:p></p>

<div>

<p class=MsoNormal>You can download Microsoft Regex Fuzzer from this <a
href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8737519c-52d3-4291-9034-caa71855451f">link</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>You can test the vulnerable regular expression against the
attack vector using any Regex tool like <a
href="http://www.radsoftware.com.au/regexdesigner/">Rad</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>An article that shows how regular expression DoS can be used
to harm SaS investors is <a
href="http://blogs.msdn.com/b/sdl/archive/2010/10/12/new-tool-sdl-regex-fuzzer.aspx">here</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><br>
-- <o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal>Best Regards,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><a href="http://twitter.com/mostafasiraj">Mostafa Siraj</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<p class=MsoNormal>Our deepest fear is not that we are inadequate. Our deepest
fear is that we are powerful beyond measure. It is our light, not our darkness,
that most frightens us. We ask ourselves, who am I to be brilliant, gorgeous,
talented, and fabulous?Actually, who are you not to be? You are a child of God.
Your playing small doesn't serve the world. There's nothing enlightened about
shrinking so that other people won't feel insecure around you. We are all meant
to shine, as children do. We are born to make manifest the glory of God that is
within us. It's not just in some of us, it's in everyone. And as we let our own
light shine, we unconsciously give other people permission to do the same. As
we are liberated from our own fear, our presence automatically liberates
others. - Nelson Mandela<o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</body>

</html>