Skip to content

Commit c444130

Browse files
winlinvipclaude
andauthored
Backport #4729: Upgrade libsrt to 1.5.6 for security enhancement. v7.0.160 (#4730)
Backport of #4729 to SRS 7.0: upgrade the vendored SRT library from 1.5.3 to 1.5.6 to fix two remotely reachable security vulnerabilities. Backports #4729. Relates to #4727. SRS 7.0 vendors SRT 1.5.3 and is affected by both CVEs exactly as `develop` was: - **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. The enforced-encryption gate in `interpretSrtHandshake` blocks the handshake path when no passphrase is configured, but it does **not** cover the post-connect `UMSG_EXT` control packet path (`CUDT::processSrtMsg`), which has no passphrase gate. At the default MSS of 1500 that is roughly **1352 bytes of stack overflow** from any peer that completes a handshake, before SRS-level streamid or callback auth ever runs. SRT is off by default at runtime, so only deployments that explicitly enable `srt_server` were exposed. 1.5.6 also carries three hardening fixes (upstream PRs #3324, #3320, #3322) for out-of-bounds reads in LOSSREPORT and DROPREQ parsing and a drop-range guard in `CRcvBuffer::dropMessage`. These matter less in SRS — the two OOB reads land inside the allocated packet slot, and the `dropMessage` guard is unreachable under SRS defaults. Full reachability analysis: #4727 (comment) --- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 7282464 commit c444130

122 files changed

Lines changed: 7352 additions & 2921 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

trunk/3rdparty/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ nginx-1.5.7.zip
99
* for srs to support hls streaming.
1010

1111
srt-1-fit
12-
srt-1.5.3.tar.gz
13-
* https://github.com/Haivision/srt/releases/tag/v1.5.3
12+
srt-1.5.6.tar.gz
13+
* https://github.com/Haivision/srt/releases/tag/v1.5.6
1414
* https://ossrs.net/lts/zh-cn/license#srt
1515

1616
openssl-1.1-fit
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1116c1116
1+
1312c1312
22
< LOGC(cnlog.Debug, log << "srt_accept: no pending connection available at the moment");
33
---
44
> LOGC(cnlog.Error, log << "srt_accept: no pending connection available at the moment");

0 commit comments

Comments
 (0)