egg-logger存在CRLF漏洞问题
waltbest2 opened this issue · comments
在此输入你需要反馈的 Bug 具体信息(Bug in Detail):
CRLF 指的是回车符(CR,ASCII 13,\r,%0d) 和换行符(LF,ASCII 10,\n,%0a),
当我们把url中添加%0a%0d 参数,这时如果打印日志的话,日志内容会被分行,也就是有CRLF漏洞问题。
可复现问题的仓库地址(Reproduction Repo)
内部代码,不方便提供
Node 版本号:
14.20
Eggjs 版本号:
2.34.0
相关插件名称与版本号(PlugIn and Name):
"egg-logger": "3.2.1",
操作平台与版本号(Platform and Version):
linux
@waltbest2 如果可以,请将攻击示例代码发到我的邮箱 fengmk2#gmail.com ,确认后,我们会尽快看看如何修复。
@waltbest2 如果可以,请将攻击示例代码发到我的邮箱 fengmk2#gmail.com ,确认后,我们会尽快看看如何修复。
例如请求参数https://domain/healthCheck?target=http://baidu.com/xxx%0a%0dSet-Cookie: test123=123
然后代码中打印url参数target
ctx.logger.info(ctx.query.url);
@waltbest2 这种算应用层手动打印的日志,不会在框架自动处理。