Hi Jagath, So as I said before this fix affects to CarbonConsoleAppender, CarbonDailyRollingFileAppender and MemoryAppender. So if this to be changed, either a new appender could be configured in log4j.properties or the appender class of the CARBON_CONSOLE appender could be changed to a in built log4j appender such as org.apache.log4j.ConsoleAppender keeping the same layout.
Thanks, Malithi. On Thu, Nov 19, 2015 at 3:28 PM, Jagath Sisirakumara Ariyarathne < [email protected]> wrote: > Hi Malithi, > > Is there any solution to fix this for ESB Log Mediator? Attached two > screenshots for before and after updating kernel 4.4.2. As you can see, > logs printed by log mediator are different and it is not the actual request > received to the ESB with the new version. > > Thanks. > > On Thu, Nov 19, 2015 at 2:20 PM, Sajith Ariyarathna <[email protected]> > wrote: > >> Hi Malithi, >> >> Seems that when you log.error(message, e); the stack trace does not get >> sanitized, but if you do log.error(e); then the stack trace get >> sanitized. >> >> Currently we are developing Jaggery app; when an exception occurred in >> Jaggery code, Rhino engine logs the stack trace and that stack trace is >> sanitized. Looks like our issue goes to Jaggery. >> >> I also notices that in Jaggery, logging exceptions like log.error(e); >> outputs a sanitized stack trace. One can avoid that by logging exceptions >> log.error(message, >> e); like this. >> >> Hoping to discuss this with the Jaggery team. Thank you very much for >> your assistance regarding this matter. >> >> >> On Thu, Nov 19, 2015 at 12:26 PM, Malithi Edirisinghe <[email protected]> >> wrote: >> >>> Hi Sajith, >>> >>> Actually the stack trace does not get sanitized. Could you please give >>> some example. >>> I have tried a simple test as below >>> >>> try { >>> log.info("XACML policy schema loaded \n successfully."); >>> throw new Exception("Test \n Exception"); >>> } catch (Exception e) { >>> log.error("Logging Test \n Exception", e); >>> } >>> >>> But this prints the log properly and here the stack trace is not >>> sanitized. Only the message that you log as an error or debug log gets >>> sanitized. Even if you refer the code line that I have pointed above you >>> will see it. >>> >>> So the output of the above code segment will be something like below. >>> >>> [2015-11-19 01:02:07,246] INFO >>> {org.wso2.carbon.identity.entitlement.internal.SchemaBuilder} - XACML >>> policy schema loaded _ successfully. (Sanitized) >>> >>> [2015-11-19 01:02:07,246] ERROR >>> {org.wso2.carbon.identity.entitlement.internal.SchemaBuilder} - Logging >>> Test _ Exception (Sanitized) >>> >>> java.lang.Exception: Test >>> >>> Exception >>> >>> at >>> org.wso2.carbon.identity.entitlement.internal.SchemaBuilder.run(SchemaBuilder.java:46) >>> >>> at java.lang.Thread.run(Thread.java:722) >>> >>> Here you can clearly see that the stack trace is not sanitized. It >>> prints the new line character in the exception as it is in the stack trace. >>> >>> Thanks, >>> >>> Malithi. >>> >>> On Thu, Nov 19, 2015 at 11:59 AM, Sajith Ariyarathna <[email protected]> >>> wrote: >>> >>>> Hi Malithi, >>>> >>>> My concern is that current fix sanitizing stack traces even though >>>> stack trace does not have CRLF injections in it. I believe sanitizing >>>> log messages (e.g. log.error(message) , excaption.getMessage() ) >>>> is sufficient to prevent CRLF injections in logs. >>>> >>>> I think we can overcome this problem with the my earlier proposed >>>> approach (extending log4j PatternLayout class and overriding the format >>>> method). >>>> >>>> Thanks. >>>> >>>> >>>> On Thu, Nov 19, 2015 at 1:07 AM, Malithi Edirisinghe <[email protected] >>>> > wrote: >>>> >>>>> Hi Sajith, >>>>> >>>>> With the present fix there's no way that stack traces could be >>>>> sanitized unless e.getMessage is explicitly used as the log message. >>>>> >>>>> As you can see at [1] only the logging message is sanitized here. >>>>> Could you please elaborate more in case i'm misunderstanding your >>>>> concern. >>>>> >>>>> [1] >>>>> https://github.com/wso2/carbon-kernel/pull/278/files#diff-5859ce33cfadc4c7933a6a08a605f8d1R72 >>>>> >>>>> Thanks, >>>>> Malithi. >>>>> >>>>> On Wed, Nov 18, 2015 at 6:42 PM, Sajith Ariyarathna <[email protected] >>>>> > wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> Me and RasikaP dig a little deep to find a solution to this problem. >>>>>> >>>>>> Instead of sanitizing final log message, you can sanitize when it is >>>>>> formatted by extending the PatternLayout [1] class. Refer this code [2], >>>>>> where public String format(LoggingEvent event) method is overridden >>>>>> to achieve a custom log message formatting. You can configure log4j >>>>>> (log4j.xml) to use your extended Pattern Layout class by adding <layout >>>>>> class="org.apache.log4j.MyPatternLayout"> in your <appender> . >>>>>> >>>>>> WDYT? >>>>>> >>>>>> [1] >>>>>> http://grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.17/org/apache/log4j/PatternLayout.java?av=f >>>>>> >>>>>> [2] >>>>>> http://apache-logging.6191.n7.nabble.com/how-to-search-and-replace-message-text-in-outgoing-log-messages-td35625.html#a35919 >>>>>> >>>>>> Thanks. >>>>>> >>>>>> On Wed, Nov 18, 2015 at 4:18 PM, Sajith Ariyarathna < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Malithi, >>>>>>> >>>>>>> The problem with the given fix is that, even stack traces are >>>>>>> sanitized. IMO, you don't need to sanitize stack traces. Sanitizing log >>>>>>> messages (log.error("message"), exception.getMessage() ) is >>>>>>> sufficient to prevent log forging. >>>>>>> >>>>>>> This problem affects to all products. I think we have to fix this >>>>>>> ASAP. >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> On Wed, Nov 18, 2015 at 3:24 PM, Malithi Edirisinghe < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> This was added for a security fix [1] and was discussed at >>>>>>>> security-leads@ [2]. So the present fix affects to the existing >>>>>>>> appenders (CarbonConsoleAppender, CarbonDailyRollingFileAppender, >>>>>>>> MemoryAppender). >>>>>>>> The other option that we could have done is to extend the existing >>>>>>>> appenders and introduce a Secured set of appenders such that only those >>>>>>>> will sanitize the logging message. But, with the present fix I'm afraid >>>>>>>> that other than configuring the appender at log4j.properties to some in >>>>>>>> built log4j appender we won't be able to get rid of this sanitization >>>>>>>> logic >>>>>>>> at logging. >>>>>>>> >>>>>>>> [1] https://support.wso2.com/jira/browse/SECINTDEV-5 >>>>>>>> [2] 'Preventing CRLF Injection when logging' >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Malithi. >>>>>>>> >>>>>>>> On Wed, Nov 18, 2015 at 3:05 PM, Viraj Senevirathne < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Krishantha, >>>>>>>>> >>>>>>>>> We have observed that* Log Mediator in ESB* is affected due to >>>>>>>>> this change. If there are new lines in the message payload it very >>>>>>>>> inconvenient and hard to read the logs. And user cannot see actual >>>>>>>>> payload >>>>>>>>> as it is, because this functionality change the message log. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> On Wed, Nov 18, 2015 at 2:58 PM, Sajith Ariyarathna < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> >>>>>>>>>> We are using carbon.kernel.version 4.4.2 in MDM 2.0.0 SNAPSHOT >>>>>>>>>> and we face the same problem (new lines are replaced with >>>>>>>>>> underscores in >>>>>>>>>> logs). Because of this behavior, it is very hard to debug/find >>>>>>>>>> problems by >>>>>>>>>> reading error logs. Is there any way to by pass/stop this behavior >>>>>>>>>> without >>>>>>>>>> patching the carbon kernel? >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> >>>>>>>>>> On Fri, Oct 30, 2015 at 11:57 AM, Viraj Senevirathne < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Kasun, >>>>>>>>>>> >>>>>>>>>>> It seems that it has happened due to this commit >>>>>>>>>>> https://github.com/wso2/carbon-kernel/commit/e0b6ae7d9f4cdee2f0bf3744b2a3ce02c3b808bf >>>>>>>>>>> . We removed it and patched the kernel then issue was resolved. >>>>>>>>>>> What can we >>>>>>>>>>> do about this? >>>>>>>>>>> >>>>>>>>>>> Thank You, >>>>>>>>>>> >>>>>>>>>>> On Fri, Oct 30, 2015 at 9:15 AM, Kasun Gajasinghe < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Can you guys go through recent commits to >>>>>>>>>>>> org.wso2.carbon.logging component and find out if any of those >>>>>>>>>>>> caused this >>>>>>>>>>>> issue? >>>>>>>>>>>> >>>>>>>>>>>> On Oct 29, 2015, at 9:23 PM, Jagath Sisirakumara Ariyarathne < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi Carbon Team, >>>>>>>>>>>> >>>>>>>>>>>> Any thought to figure out the issue is much appreciated. >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Oct 28, 2015 at 3:42 PM, Viraj Senevirathne < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi All, >>>>>>>>>>>>> >>>>>>>>>>>>> We have upgraded the carbon version in ESB from 4.4.1 to >>>>>>>>>>>>> 4.4.2. Then we have encountered following issue. >>>>>>>>>>>>> >>>>>>>>>>>>> *In carbon.kernel.version 4.4.1 and earlier carbon versions* >>>>>>>>>>>>> >>>>>>>>>>>>> TID: [-1234] [] [2015-10-23 16:43:26,614] INFO >>>>>>>>>>>>> {org.apache.synapse.mediators.builtin.LogMediator} - To: >>>>>>>>>>>>> /services/sendReciveProxy.sendReciveProxyHttpSoap11Endpoint, >>>>>>>>>>>>> WSAction: >>>>>>>>>>>>> urn:getQuote, SOAPAction: urn:getQuote, MessageID: >>>>>>>>>>>>> urn:uuid:333b6811-04aa-4c6a-94fb-3edc4d56065d, Direction: request, >>>>>>>>>>>>> Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope >>>>>>>>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>>>>>>>> xmlns:xsd="http://services.samples/xsd" xmlns:ser=" >>>>>>>>>>>>> http://services.samples"><soapenv:Body> >>>>>>>>>>>>> <ser:getQuote> >>>>>>>>>>>>> <!--Optional:--> >>>>>>>>>>>>> <ser:request> >>>>>>>>>>>>> <!--Optional:--> >>>>>>>>>>>>> <xsd:symbol>IBM</xsd:symbol> >>>>>>>>>>>>> </ser:request> >>>>>>>>>>>>> </ser:getQuote> >>>>>>>>>>>>> </soapenv:Body></soapenv:Envelope> >>>>>>>>>>>>> {org.apache.synapse.mediators.builtin.LogMediator} >>>>>>>>>>>>> >>>>>>>>>>>>> *Same log in carbon.kernel.version 4.4.2 * >>>>>>>>>>>>> >>>>>>>>>>>>> [2015-10-28 15:38:36,027] INFO - LogMediator To: >>>>>>>>>>>>> /services/callOutOnly.callOutOnlyHttpSoap11Endpoint, WSAction: >>>>>>>>>>>>> urn:mediate, >>>>>>>>>>>>> SOAPAction: urn:mediate, MessageID: >>>>>>>>>>>>> urn:uuid:61f4b04c-0906-4228-975e-1b8f1be7450d, Direction: request, >>>>>>>>>>>>> Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope >>>>>>>>>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >>>>>>>>>>>>> xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Body>_ >>>>>>>>>>>>> <m:placeOrder xmlns:m="http://services.samples">_ >>>>>>>>>>>>> <m:order>_ <m:price>3.141593E0</m:price>_ >>>>>>>>>>>>> <m:quantity>4</m:quantity>_ <m:symbol>IBM</m:symbol>_ >>>>>>>>>>>>> </m:order>_ </m:placeOrder>_ >>>>>>>>>>>>> </soapenv:Body></soapenv:Envelope> (Sanitized) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> As you can see all the new lines are replaced with _ . >>>>>>>>>>>>> >>>>>>>>>>>>> What could be the issue here? >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you, >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Viraj Senevirathne >>>>>>>>>>>>> Software Engineer; WSO2, Inc. >>>>>>>>>>>>> >>>>>>>>>>>>> Mobile : +94 71 958 0269 >>>>>>>>>>>>> Email : [email protected] >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Jagath Ariyarathne >>>>>>>>>>>> Technical Lead >>>>>>>>>>>> WSO2 Inc. http://wso2.com/ >>>>>>>>>>>> Email: [email protected] >>>>>>>>>>>> Mob : +94 77 386 7048 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Viraj Senevirathne >>>>>>>>>>> Software Engineer; WSO2, Inc. >>>>>>>>>>> >>>>>>>>>>> Mobile : +94 71 958 0269 >>>>>>>>>>> Email : [email protected] >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Sajith Ariyarathna >>>>>>>>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>>>>>>> mobile: +94 77 6602284, +94 71 3951048 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Viraj Senevirathne >>>>>>>>> Software Engineer; WSO2, Inc. >>>>>>>>> >>>>>>>>> Mobile : +94 71 958 0269 >>>>>>>>> Email : [email protected] >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Malithi Edirisinghe* >>>>>>>> Senior Software Engineer >>>>>>>> WSO2 Inc. >>>>>>>> >>>>>>>> Mobile : +94 (0) 718176807 >>>>>>>> [email protected] >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Sajith Ariyarathna >>>>>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>>>> mobile: +94 77 6602284, +94 71 3951048 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sajith Ariyarathna >>>>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>>>> mobile: +94 77 6602284, +94 71 3951048 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> *Malithi Edirisinghe* >>>>> Senior Software Engineer >>>>> WSO2 Inc. >>>>> >>>>> Mobile : +94 (0) 718176807 >>>>> [email protected] >>>>> >>>> >>>> >>>> >>>> -- >>>> Sajith Ariyarathna >>>> Software Engineer; WSO2, Inc.; http://wso2.com/ >>>> mobile: +94 77 6602284, +94 71 3951048 >>>> >>> >>> >>> >>> -- >>> >>> *Malithi Edirisinghe* >>> Senior Software Engineer >>> WSO2 Inc. >>> >>> Mobile : +94 (0) 718176807 >>> [email protected] >>> >> >> >> >> -- >> Sajith Ariyarathna >> Software Engineer; WSO2, Inc.; http://wso2.com/ >> mobile: +94 77 6602284, +94 71 3951048 >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Jagath Ariyarathne > Technical Lead > WSO2 Inc. http://wso2.com/ > Email: [email protected] > Mob : +94 77 386 7048 > > -- *Malithi Edirisinghe* Senior Software Engineer WSO2 Inc. Mobile : +94 (0) 718176807 [email protected]
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
