mirror of
https://github.com/open5gs/open5gs.git
synced 2026-04-28 03:19:31 +00:00
mirror of https://github.com/open5gs/open5gs link from https://open5gs.org/
https://open5gs.org
The AMF could abort when processing malformed or oversized multipart SBI requests due to an assertion triggered in the multipart parser callback. When the parser encountered an overflow condition while assembling multipart part data, `on_part_data()` executed `ogs_assert_if_reached()`, causing the AMF process to terminate. This allowed malformed HTTP/2 multipart requests to trigger a denial-of-service condition. This patch replaces the assertion-based failure with graceful error handling: - Introduce `multipart_part_data_t` and explicit parser state tracking. - Add `parse_error` flag to propagate parsing failures. - Validate the result of `multipart_parser_execute()`. - Reject malformed multipart payloads instead of aborting. - Replace fatal assertions with error handling and proper cleanup. - Add centralized cleanup via `multipart_parser_data_free()`. As a result, malformed or oversized multipart bodies are now rejected with an error, while the AMF process remains operational. Issues: #4290 |
||
|---|---|---|
| .github | ||
| configs | ||
| debian | ||
| docker | ||
| docs | ||
| lib | ||
| misc | ||
| src | ||
| subprojects | ||
| tests | ||
| vagrant | ||
| webui | ||
| .clang-tidy | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
Getting Started
Please follow the documentation at open5gs.org!
Sponsors
If you find Open5GS useful for work, please consider supporting this Open Source project by Becoming a sponsor. To manage the funding transactions transparently, you can donate through OpenCollective.
Community
- Problem with Open5GS can be filed as issues in this repository.
- Other topics related to this project are happening on the discussions.
- Voice and text chat are available in Open5GS's Discord workspace. Use this link to get started.
Contributing
If you're contributing through a pull request to Open5GS project on GitHub, please read the Contributor License Agreement in advance.
License
- Open5GS Open Source files are made available under the terms of the GNU Affero General Public License (GNU AGPL v3.0).
- Commercial licenses are also available from NewPlane at sales@newplane.io.
Support
Technical support and customized services for Open5GS are provided by NewPlane at support@newplane.io.
