Jon Steege created VALIDATOR-365:
------------------------------------

             Summary: An arbitrarily large email string causes 
stackoverflowerror in EmailValidator.isValid()
                 Key: VALIDATOR-365
                 URL: https://issues.apache.org/jira/browse/VALIDATOR-365
             Project: Commons Validator
          Issue Type: Bug
            Reporter: Jon Steege


RFC-3696 defines a limit to the length of an email address. The local part is 
limited to 64 characters. 

Providing an arbitrarily long local segment to a string that is passed to 
EmailValidator.isValid() can cause the function to overflow the stack. 

{code}
groovy:000> test = new EmailValidator(false)
===> org.apache.commons.validator.routines.EmailValidator@2256a2bd
groovy:000> 
test.isValid("loremipsumdolorsitametconsecteturadipiscingelit.nullavitaeligulamattisrhoncusnuncegestasmattisleo.donecnonsapieninmagnatristiquedictumaacturpis.fusceorciduifacilisisutsapieneuconsequatpharetralectus.quisqueenimestpulvinarutquamvitaeportamattisex.nullamquismaurisplaceratconvallisjustoquisportamauris.innullalacusconvalliseufringillautvenenatissitametdiam.maecenasluctusligulascelerisquepulvinarfeugiat.sedmolestienullaaliquetorciluctusidpharetranislfinibus.suspendissemalesuadatinciduntduisitametportaarcusollicitudinnec.donecetmassamagna.curabitururnadiampretiumveldignissimporttitorfringillaeuneque.duisantetelluspharetraidtinciduntinterdummolestiesitametfelis.utquisquamsitametantesagittisdapibusacnonodio.namrutrummolestiediamidmattis.cumsociisnatoquepenatibusetmagnisdisparturientmontesnasceturridiculusmus.morbiposueresedmetusacconsectetur.etiamquisipsumvitaejustotempusmaximus.sedultriciesplaceratvolutpat.integerlacuslectusmaximusacornarequissagittissitametjusto.cumsociisnatoquepenatibusetmagnisdisparturientmontesnasceturridiculusmus.maecenasindictumpurussedrutrumex.nullafacilisi.integerfinibusfinibusmietpharetranislfaucibusvel.maecenasegetdolorlacinialobortisjustovelullamcorpersem.vivamusaliquetpurusidvariusornaresapienrisusrutrumnisitinciduntmollissemnequeidmetus.etiamquiseleifendpurus.nuncfelisnuncscelerisqueiddignissimnecfinibusalibero.nuncsemperenimnequesitamethendreritpurusfacilisisac.maurisdapibussemperfelisdignissimgravida.aeneanultricesblanditnequealiquamfinibusodioscelerisqueac.aliquamnecmassaeumaurisfaucibusfringilla.etiamconsequatligulanisisitametaliquamnibhtemporquis.nuncinterdumdignissimnullaatsodalesarcusagittiseu.proinpharetrametusneclacuspulvinarsedvolutpatliberoornare.sedligulanislpulvinarnonlectuseublanditfacilisisante.sedmollisnislalacusauctorsuscipit.inhachabitasseplateadictumst.phasellussitametvelittemporvenenatisfeliseuegestasrisus.aliquameteratsitametnibhcommodofinibus.morbiefficiturodiovelpulvinariaculis.aeneantemporipsummassaaconsecteturturpisfaucibusultrices.praesentsodalesmaurisquisportafermentum.etiamnisinislvenenatisvelauctorutullamcorperinjusto.proinvelligulaerat.phasellusvestibulumgravidamassanonfeugiat.maecenaspharetraeuismodmetusegetefficitur.suspendissea...@gmail.com");
ERROR java.lang.StackOverflowError:
null
{code}

This is using commons-validator 1.4.1. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to