| 标题 | dvidelabs flatcc v0.6.3 Reachable Assertion |
|---|
| 描述 | FlatBuffers structs must be acyclic (a struct's fields may only reference other structs by value if the graph is a DAG), but the parser does not reject mutually-recursive structs up front. analyze_struct() re-enters struct analysis while the fb_circular_open flag for the enclosing struct is still set (src/compiler/semantics.c:695), and the cycle trips an assertion that aborts the compile with SIGABRT.
Affected versions: flatcc v0.6.3
Severity: Medium (reachable assertion abort / SIGABRT; crash/DoS of the schema compiler)
CWE: CWE-617 (Reachable Assertion) |
|---|
| 来源 | ⚠️ https://github.com/dvidelabs/flatcc/issues/388 |
|---|
| 用户 | lrrh (UID 100159) |
|---|
| 提交 | 2026-08-08 10時40分 (1 月前) |
|---|
| 管理 | 2026-09-13 15時01分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 403291 [Dvidelabs flatcc 直到 0.6.3 Struct Analysis src/compiler/semantics.c analyze_struct 拒绝服务] |
|---|
| 积分 | 20 |
|---|