Update module github.com/emiago/sipgo to v1 [SECURITY] #414
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.33.0->v1.0.0GitHub Vulnerability Alerts
CVE-2025-68274
Description
A nil pointer dereference vulnerability was discovered in the SIPGO library's
NewResponseFromRequestfunction that affects all normal SIP operations. The vulnerability allows remote attackers to crash any SIP application by sending a single malformed SIP request without a To header.The vulnerability occurs when SIP message parsing succeeds for a request missing the To header, but the response creation code assumes the To header exists without proper nil checks. This affects routine operations like call setup, authentication, and message handling - not just error cases.
Technical details
The vulnerability is located in
/sip/response.goat line 242 in theNewResponseFromRequestfunction:Root Cause:
Missing To Header: When any SIP request is sent without a To header, the SIP message parsing succeeds but the To header is never set in the request object.
Header Copying Logic: During response creation in
NewResponseFromRequest, the code attempts to copy headers from the request to the response. Since there's no To header in the request, no To header is copied to the response.Unsafe Assumption: The response creation code assumes the To header exists and calls
res.To().Params["tag"]without checking ifres.To()returnsnil, causing a nil pointer dereference.Stack Trace:
Impact
This vulnerability affects all SIP applications using the sipgo library when using NewResponseFromRequest to generate SIP responses.
Attack Impact:
How to reproduce the issue
To reproduce this issue, you need:
Steps:
Save the following Python script as
sipgo-response-dos.py:Run the script against a vulnerable sipgo application:
Observe that the target application crashes with a SIGSEGV panic.
Release Notes
emiago/sipgo (github.com/emiago/sipgo)
v1.0.0Compare Source
🚀 SIPgo v1.0.0 is here 🚀
SIPgo had a long journey, and API was challenged with many different projects and used by big names out there. There hasn’t been any significant need for breaking changes lately, so there is pretty high confidence this API will remain stable going forward.
What does 1.0.0 mean?
Future✈️
There are open things regarding performance and small features that will probably land into 1.0.0 API. To mentioned few
Lib has opportunity to be more improved but even with current state it excels in performance of handling high loads of traffic.
You can always check proxysip example and running locally with docker-compose sipp stress where on this limited container (4 cores) we can achieve high throughput on modern CPU ~2000rps with no latency impact.
✋ v2
Many Big things or issues that we may not be good fit for current API are moved to
v2Milestone and I would like to see this happening as well.🙌 Thank You
Huge thanks to everyone who contributed, submitted issues, provided feedback, or used SIPgo as a building block in their own systems.
Your input has shaped the API and helped bring SIPgo to this milestone.
Thank you all for your contributions and for keeping this project alive!
What's Changed
New Contributors
Full Changelog: emiago/sipgo@v0.33.0...v1.0.0
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.