1. 极安网首页
  2. 网络安全技术

金山WPSOffice远程堆溢出漏洞分析(CVE-2020-25291)

WPS Office软件中存在一个远程执行代码漏洞,是当Office软件在分析特制Office文件时不正确地处理内存中的对象时引起的。成功利用此漏洞的攻击者可以在当前用户的上下文中运行任意代码。

从这里我们可以知道代码实际上没有从指针释放任何东西。一旦移至EDX,EDX将保留指向索引数组的指针:

  1. eax=00000000 ebx=00791878 ecx=00000005 edx=cf69afbc esi=cb07de18 edi=0000001c
  2. eip=6ba3cb8f esp=00791780 ebp=00791870 iopl=0         nv up ei pl nz na po nc
  3. cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00200202
  4. QtCore4!path_gradient_span_gen::path_gradient_span_gen+0x6a6b:
  5. 6ba3cb8f 8b4df4          mov     ecx,dword ptr [ebp-0Ch] ss:002b:00791864=d1326100
  6. 0:000> dc cf69afbc
  7. cf69afbc  c88baf80 d1326100 00000003 00000280  .....a2.........
  8. cf69afcc  0000055f 00000012 c0c0c0c0 1c3870e2  _............p8.
  9. cf69afdc  40ad870e 1c3870e2 40ad870e 00000000  ...@.p8....@....
  10. cf69afec  00000000 c0c0c0c1 6c1d12c0 00000000  ...........l....
  11. cf69affc  c0c0c0c0 ???????? ???????? ????????  ....????????????
  12. cf69b00c  ???????? ???????? ???????? ????????  ????????????????
  13. cf69b01c  ???????? ???????? ???????? ????????  ????????????????
  14. cf69b02c  ???????? ???????? ???????? ????????  ????????????????
  15. 0:000> dc c88baf80
  16. c88baf80  00000001 0000001c 00000010 00000001  ................
  17. c88baf90  ff000000 ff800000 ff008000 ff808000  ................
  18. c88bafa0  ff000080 ff800080 ff008080 ff808080  ................
  19. c88bafb0  ffc0c0c0 ffff0000 ff00ff00 ffffff00  ................
  20. c88bafc0  ff0000ff ffff00ff ff00ffff ffffffff  ................
  21. c88bafd0  c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0  ................
  22. c88bafe0  c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0  ................
  23. c88baff0  c0c0c0c0 c0c0c0c0 c0c0c0c0 c0c0c0c0  ................

崩溃后的堆栈跟踪:

  1. 0:000> kvL
  2.  # ChildEBP RetAddr  Args to Child              
  3. 00 012f18d4 6ba3cb98 cc53afbc 00000048 00000000 QtCore4!QMatrix::dy+0x48a8
  4. 01 012f19d0 6b8143ef 00000000 012f1b78 012f1a5c QtCore4!path_gradient_span_gen::path_gradient_span_gen+0x6a74
  5. 02 012f1a30 6b814259 0000002e 012f5bd0 00000000 QtCore4!QBrush::setMatrix+0x234
  6. 03 012f5b14 6b8249a4 0000003b 012f5b68 cc780e18 QtCore4!QBrush::setMatrix+0x9e
  7. 04 012f5b2c 6b80cc84 0000003b 012f5b68 cc780e18 QtCore4!QImage::rect+0x22b
  8. 05 012f5b48 6b857ccc 0000003b 012f5b68 cc780e18 QtCore4!QTransform::inverted+0xec8
  9. 06 012f64dc 6b81c55b 00000000 003c0000 00000000 QtCore4!QSvgFillStyle::setFillOpacity+0x1b59
  10. 07 012f66c0 6b896844 012f6724 cc818ff0 0000001c QtCore4!QPainter::drawPixmap+0x1c98
  11. 08 012f67b4 6d1e0fbd 012f69ec 012f66d4 012f6864 QtCore4!QPainter::drawImage+0x325
  12. 09 012f67d4 6d0dd155 012f6a54 012f69ec 012f6864 kso!GdiDrawHoriLineIAlt+0x11a1a
  13. 0a 012f67ec 6d0c8d88 012f69ec 012f68e0 012f6864 kso!kpt::PainterExt::drawBitmap+0x23

原创文章,作者: Admin ,转载请注明出处:https://secvery.com/3192.html