Commit 5f00d0e
Claude: Upgrade libsrt from 1.5.3 to 1.5.6 for CVE-2026-55868/55869.
Replace the vendored srt-1-fit tree with upstream SRT v1.5.6 to pick up
two remotely reachable security fixes and three hardening changes:
- CVE-2026-55869 (upstream PR #3317): processSrtMsg_KMREQ copied bytelen/4
words into a 104-byte stack buffer with no capacity check.
- CVE-2026-55868 (upstream PR #3319): processSrtMsg_KMRSP did the same with
no validation of len at all.
- Upstream PR #3324, #3320, #3322: OOB reads in LOSSREPORT range parsing and
DROPREQ payload parsing, plus a CRcvBuffer::dropMessage range guard.
Both CVEs were reachable against a default SRS build with srt_server enabled.
The enforced-encryption gate in interpretSrtHandshake blocks the handshake
path when no passphrase is configured, but the post-connect UMSG_EXT control
packet path (CUDT::processSrtMsg) has no such gate and needs no passphrase,
so a peer that completes a handshake could overflow the stack buffer by about
1352 bytes. SRT is off by default at runtime, so only deployments that
explicitly enable srt_server were exposed.
The fit tree was a pure subset of upstream 1.5.3 with no local edits, so 1.5.6
is vendored the same way: apps, tests, docs, examples, CI files, and the new
submodules directory are pruned, everything else is pristine upstream.
Retarget patches/srt/api.cpp-01.patch from line 1116 to 1312. The old number
was already stale for 1.5.3, where the line sat at 1133 and patch located it
by content.
Update trunk/3rdparty/README.md and the C++ server code map for the new
version, the new Botan crypto backend, and the fit's provenance.
Verified: configure builds libsrt reporting SRT_VERSION_STRING "1.5.6", the
api.cpp patch applies with no offset, make completes, the srs binary carries
the fixed code, and srt_server binds UDP 10080.
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent bb5fde2 commit 5f00d0e
119 files changed
Lines changed: 7336 additions & 2923 deletions
File tree
- skills/internal-codemap-for-srs/references
- trunk/3rdparty
- patches/srt
- srt-1-fit
- common/win
- haicrypt
- scripts
- build-android
- build-ios
- codespell
- release-notes
- win-installer
- srtcore
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
325 | | - | |
| 325 | + | |
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
359 | | - | |
| 359 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
0 commit comments