CVE-2023-47480: unchecked return values of set*id() family functions in Puredata

Puredata do not check return values of set*id() family functions, leading to potential privilege escalations.

Timeline

  • 24/07/2023: Puredata maintainers contacted
  • 25/07/2023: Maintainers first response
  • 23/11/2023: Patch issued by maintainers
  • 20/09/2024: CVE-2023-47480 published

Pure Data

Pure Data (or just “Pd”) is an open source visual programming language for multimedia. Pure Data is developed by Miller Puckette since 1996 and you can find it on his official website

This is yet another occurence of not checking security-related functions that I have been working on. See the below for further explanations:

The security impact is quite moderate as it is not easy to trigger setuid() to fail and that Pure Data is not a widely-used program on Linux distributions.

It has been fixed by Umläute and the decision taken was to abort execution if the setuid() call fails.

References