When a DHCP client uses SendOption=82:string:..., option_append() calls the SD_DHCP_OPTION_RELAY_AGENT_INFORMATION case which was written for the server relay path. It casts optval to sd_dhcp_server* and calls strlen() on its members, but optval is actually raw binary data from the client, causing SIGSEGV. The same is applicable when option 43 and option 77 are passed to SendOption. Fix by checking optlen > 0 and appending the option as a plain TLV, skipping the server-specific relay agent logic.
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
