﻿<?xml version="1.0" encoding="utf-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Intersoft Community - WebCombo - Webcombo Security issue</title><link>http://www.intersoftsolutions.com/Community/WebCombo/Webcombo-Security-issue/</link><description /><generator>http://www.intersoftsolutions.com</generator><language>en</language><copyright>Copyright 2002 - 2015 Intersoft Solutions Corp. All rights reserved.</copyright><ttl>60</ttl><item><title>Webcombo Security issue</title><link>http://www.intersoftsolutions.com/Community/WebCombo/Webcombo-Security-issue/</link><pubDate>Thu, 23 Nov 2023 12:11:16 GMT</pubDate><dc:creator>sphinxg@usa.net</dc:creator><category>Security issue</category><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I am using Intersoft webcombo in my ASP.Net Web application.&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;I am checking the application security using the tool semgrep for SAST (Static Application Security Testing).&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;While testing I face the below errors. The JavaScript generated by the webcombo is causing the issue .&lt;/p&gt;&lt;p&gt;&lt;span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;Please help me to solve these issues.&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;b&gt;Files in which error occured:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol"&gt;&lt;b&gt;·&lt;/b&gt;&lt;span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/b&gt;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="EN-US" style="font-size:10.0pt;
line-height:107%;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;CoreValidator.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol"&gt;·&lt;span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="EN-US" style="font-size:10.0pt;
line-height:107%;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;Core_DragDrop.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol"&gt;·&lt;span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="EN-US" style="font-size:10.0pt;
line-height:107%;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;ISCore.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol"&gt;·&lt;span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="EN-US" style="font-size:10.0pt;
line-height:107%;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;WebUIValidation.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol"&gt;·&lt;span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="EN-US" style="font-size:10.0pt;
line-height:107%;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;WebCombo.js&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!--[if !supportLists]--&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px;"&gt;







&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;b&gt;Error Message 1&lt;/b&gt;:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;javascript.browser.security.insecure-document-method.insecure-document-method
User controlled data in methods like `innerHTML`, `outerHTML` or
`document.write` is an anti-pattern that can lead to XSS vulnerabilities&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;background:yellow;
mso-highlight:yellow"&gt;...
e.innerHTML=v;WC40Engine.InvalidateResultBox(f);return
v},WriteCOLs:function(f,d){var&amp;nbsp;
e="";if(f.LayoutSettings.ComboMode=="MultipleColumns"){var
a= ...&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px;"&gt;



&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;background:yellow;
mso-highlight:yellow"&gt;...
b.innerHTML="&amp;lt;nobr&amp;gt;"+l.Text+"&amp;lt;/nobr&amp;gt;"}}else{var
h=p.Columns;for(var&amp;nbsp; k=0;k&amp;lt;h.length;k++){var
f=h[k];if(f.Hidden&amp;amp;&amp;amp;!f.RenderOnHidden){continue}var q=f ...&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;b&gt;Error Message 2:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp
RegExp() called with a `e` function argument, this might allow an attacker to
cause a Regular Expression Denial-of-Service (ReDoS) within your application as
RegExP blocks the main thread. For this reason, it is recommended to use
hardcoded regexes instead. If your regex is run on user-controlled input,
consider performing input validation or use a regex checking/sanitization
library such as https://www.npmjs.com/package/recheck to verify that the regex
does not appear vulnerable to ReDoS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px;"&gt;

&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:&amp;quot;Calibri&amp;quot;,sans-serif;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:
minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;
background:yellow;mso-highlight:yellow;mso-font-kerning:0pt;mso-ligatures:none;
mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA"&gt;…RegExp(c.Pattern,"img");g=c.NewValue.match(re);if(g==null){c.NewValue=c.NewValue.replace(new
&amp;nbsp;RegExp("\\s+","g"),"");g=c.NewValue.match(re)}if(g==
...&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;b&gt;Error Message 3:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;javascript.browser.security.eval-detected.eval-detected
Detected the use of eval(). eval() can be dangerous if used to evaluate dynamic
content. If this content can be input from outside the program, this may be a
code injection vulnerability. Ensure evaluated content is not definable by
external sources.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px;"&gt;

&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:&amp;quot;Calibri&amp;quot;,sans-serif;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:
minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;
background:yellow;mso-highlight:yellow;mso-font-kerning:0pt;mso-ligatures:none;
mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA"&gt;al(this.getAttribute(name))}}}},_EmulateSelectionModel:function(){Object.defineProperty(HTMLDocument.prototype,"selection",{get:function(){return
w ...&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;b&gt;Error Message 4:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;javascript.lang.security.audit.incomplete-sanitization.incomplete-sanitization
`h.replace` method will only replace the first occurrence when used with a
string argument ("$"). If this method is used for escaping of
dangerous data then there is a possibility for a bypass. Try to use
sanitization library instead or use a Regex with a global flag.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px;"&gt;

&lt;span lang="EN-US" style="font-size:10.0pt;line-height:107%;font-family:&amp;quot;Calibri&amp;quot;,sans-serif;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:
minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;
background:yellow;mso-highlight:yellow;mso-font-kerning:0pt;mso-ligatures:none;
mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA"&gt;replace("$","\\s*\\"+i+"\\s*")}else{if(j=="percent"){h=h.replace(i,"\\s*\\"+i+"\\s*")}}h="(?:^"+h.replace(new
RegExp("\\s*","g"),"")+"$)";return h}
...&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;With Regards,&lt;/p&gt;&lt;p style="margin-bottom: 0px; margin-left: 0px; margin-top: 0px;"&gt;Giridhar JG&lt;/p&gt;</description></item></channel></rss>