Fade In XML解析器越界写入漏洞深度分析

本文详细分析了Cisco Talos发现的GCC Productions Inc. Fade In软件XML解析器中的越界写入漏洞(CVE-2025-53855),包含漏洞原理、技术细节、汇编代码分析和崩溃调试信息。

TALOS-2025-2250 || Cisco Talos情报组 - 全面威胁情报

Talos漏洞报告

TALOS-2025-2250

GCC Productions Inc. Fade In XML解析器越界写入漏洞

2025年10月28日

CVE编号
CVE-2025-53855

概述
GCC Productions Inc. Fade In 4.2.0的XML解析功能中存在越界写入漏洞。特制的.fadein文件可导致越界写入。攻击者可通过提供恶意文件来触发此漏洞。

确认受影响的版本
以下版本经过Talos测试或验证为易受攻击,或已由供应商确认为易受攻击:

  • GCC Productions Inc. Fade In 4.2.0

产品网址
Fade In - https://www.fadeinpro.com/

CVSSv3评分
7.8 - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

CWE
CWE-787 - 越界写入

详细信息
Fade In专业剧本写作软件(简称Fade In)是用于以行业标准格式编写剧本的软件。

Fade In使用.fadein文件格式,这是一个包含嵌入式XML文件的标准ZIP文件。

漏洞存在于Fade In软件的XML解析逻辑中。它期望始终遇到"builtin_index" XML属性。但是,如果该属性缺失或其值设置为负索引,软件将使用负索引来访问和写入内存。这导致内存损坏漏洞。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
.text:00721FC0                 push    ebp
.text:00721FC1                 mov     ebp, esp
.text:00721FC3                 push    esi
.text:00721FC4                 push    edi
.text:00721FC5                 mov     edi, [ebp+arg_0]
.text:00721FC8                 mov     esi, ecx
.text:00721FCA                 cmp     esi, edi
.text:00721FCC                 jz      loc_7223B7
.text:00721FD2                 mov     eax, [edi]
.text:00721FD4                 lea     ecx, [esi+28h]
.text:00721FD7                 mov     [esi], eax      				; 内存损坏
.text:00721FD9                 lea     eax, [edi+28h]
.text:00721FDC                 mov     dword ptr [esi+24h], 0
.text:00721FE3                 cmp     ecx, eax
.text:00721FE5                 jz      short loc_721FFA
.text:00721FE7                 cmp     dword ptr [eax+14h], 8
.text:00721FEB                 mov     edx, eax
.text:00721FED                 jb      short loc_721FF1
.text:00721FEF                 mov     edx, [eax]

崩溃信息

1
2
3
4
5
6
7
8
48d0.66b8): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=035a8dd8 ebx=0360fd68 ecx=88000b28 edx=01790000 esi=88000b00 edi=002fe534
eip=00681fd7 esp=002fe4fc ebp=002fe504 iopl=0         nv up ei ng nz ac pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210296
Fade_In!cJSON_malloc+0x174c37:
00681fd7 8906            mov     dword ptr [esi],eax  ds:002b:88000b00=????????

调试分析

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
0:000> !analyze -v
Reloading current modules
...................................................

************* Symbol Loading Error Summary **************
Module name            Error
Fade In                The system cannot find the file specified
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

KEY_VALUES_STRING: 1
    Key  : AV.Type
    Value: Write
    Key  : Analysis.CPU.mSec
    Value: 1593
    Key  : Analysis.Elapsed.mSec
    Value: 18966

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00681fd7 (Fade_In!cJSON_malloc+0x00174c37)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000001
   Parameter[1]: 88000b00
Attempt to write to address 88000b00

FAULTING_THREAD:  66b8
PROCESS_NAME:  Fade In.exe
WRITE_ADDRESS:  88000b00

ERROR_CODE: (NTSTATUS) 0xc0000005 - Instrukcja w 0x%p odwo a a si  do pami ci pod adresem 0x%p. Pami   nie mo e by  %s.

EXCEPTION_CODE_STR:  c0000005
EXCEPTION_PARAMETER1:  00000001
EXCEPTION_PARAMETER2:  88000b00

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
002fe504 00638862     002fe534 ba8549dc 035a8dd8 Fade_In!cJSON_malloc+0x174c37
002fe8cc 006320ec     0360fd00 ba854c20 07857c88 Fade_In!cJSON_malloc+0x12b4c2
[...更多堆栈跟踪...]

SYMBOL_NAME:  Fade_In+174c37
MODULE_NAME: Fade_In
IMAGE_NAME:  Fade In.exe
FAILURE_BUCKET_ID:  INVALID_POINTER_WRITE_c0000005_Fade_In.exe!Unknown
OS_VERSION:  10.0.19041.1
BUILDLAB_STR:  vb_release
OSPLATFORM_TYPE:  x86
OSNAME:  Windows 10
IMAGE_VERSION:  4.2.0.1039
FAILURE_ID_HASH:  {c45a0f7f-059c-9f69-23c6-958092d0c9aa}

时间线

  • 2025-08-20 - 初始供应商联系
  • 2025-08-26 - 供应商披露
  • 2025-10-27 - 供应商补丁发布
  • 2025-10-28 - 公开发布

致谢
由Cisco Talos的Piotr Bania发现。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计