【未知】rsyslog缓冲区溢出、远程代码执行

admin 2022年5月17日19:05:46评论573 views字数 1592阅读5分18秒阅读模式

点击上方蓝字“Ots安全”一起玩耍

×


01
 漏洞描述


rsyslog是一个快速处理收集系统日志的开源程序,提供了高性能、安全功能和模块化设计。当使用八位字节计数的帧时,用于 TCP 系统日志接收的模块可能存在堆缓冲区溢出。这可能会导致段错误或其他一些故障。


当检查最大八位字节数时,即使八位字节计数超过最大值,数字也会写入堆缓冲区,这可用于溢出内存缓冲区。但是,一旦数字序列停止,就不能将其他字符添加到缓冲区中。在我们看来,这使得远程攻击变得不可能或至少非常复杂。八位组计数成帧是两种可能的成帧模式之一。它相对不常见,但默认情况下在接收器上启用。模块 `imtcp`、`imptcp`、`imgssapi` 和 `imhttp` 用于常规 syslog 消息接收。


×


02
漏洞状态

# 漏洞状态 描述
1 漏洞细节
2 漏洞类型 缓冲溢出、代码执行
3 漏洞等级 未知
4 野外利用 未知
5 EXP 未知
6 POC 未知
7 CVE编号 CVE-2022-24903


×


03
漏洞引用


  • https://github.com/rsyslog/rsyslog/commit/f211042ecbb472f9d8beb4678a65d272b6f07705

  • https://github.com/rsyslog/rsyslog/security/advisories/GHSA-ggw7-xr6h-mmr8



×


04
旧的漏洞



×


05
影响版本


  • <= 8.2204.0


×


06
漏洞分析


描述

影响

使用八位字节计数的帧时,用于接收 TCP 系统日志的模块会出现堆缓冲区溢出。攻击者可以破坏堆值,导致数据完整性问题和可用性影响。远程代码执行不太可能发生,但并非不可能。


受影响的模块

  • imtcp

  • imptcp

  • imhttp(贡献模块)

  • imgssapi(长期半贡献模块)

  • imdiag


细节

读取八位字节计数时会发生错误。当检查最大八位字节数时,即使八位字节计数超过最大值,数字也会写入堆缓冲区,这可用于溢出内存缓冲区。这也可用于破坏其他堆缓冲区。一旦数字序列停止,就不能将其他字符添加到缓冲区中。在我们看来,这使得远程攻击变得不可能或至少非常复杂。


八位组计数成帧是两种可能的成帧模式之一。它相对不常见,但默认情况下在接收器上启用。


模块imtcp、imptcp、imgssapi和imhttp用于常规 syslog 消息接收。最好不要将它们直接暴露给公众。如果遵循这种做法,风险就会大大降低。


模块imdiag是主要用于测试台运行的诊断模块。我们不希望它出现在任何生产安装中。


补丁

该补丁可通过提交 ID [PUT HERE] 获得。


解决方法

八位字节组帧并不常见。通常,它需要在发件人处专门启用。如果用户不需要它,他们可以为最重要的模块关闭它。这将减轻漏洞。如何做到这一点取决于模块:


  • 对于imtcp. imptcp,添加SupportOctetCountedFraming="off"到input()定义中。

文档:https://www.rsyslog.com/doc/v8-stable/configuration/modules/imtcp.html,https://www.rsyslog.com/doc/v8-stable/configuration/modules/imptcp.html,https://www.rsyslog.com/doc/v8-stable/configuration/modules/imhttp.html

  • 对于imgssapi八位字节计数的帧不能关闭。

  • 对于imdiag八位字节计数的帧,不能关闭。但是,imdiag不应出现在生产系统上。

请注意,虽然可以禁用八位字节计数的帧,但发送系统必须明确启用它,但默认情况下,接收系统会自动检测它是否正在使用中。启用它的“正常”原因是如果您发送带有嵌入换行符的日志。

【未知】rsyslog缓冲区溢出、远程代码执行

原文始发于微信公众号(Ots安全):【未知】rsyslog缓冲区溢出、远程代码执行

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月17日19:05:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【未知】rsyslog缓冲区溢出、远程代码执行http://cn-sec.com/archives/1015015.html

发表评论

匿名网友 填写信息