Apple has fixed nearly 20 code-execution vulnerabilities in macOs, including a number that could allow an attacker to run code with kernel privileges.

The patches come as part of the release of macOs Sierra, a major update of the Mac operating system released Tuesday. Many of the more serious flaws fixed in Sierra are memory corruption vulnerabilities, and they exist in a number of different components of the operating system. The kernel, the IOAcceleratorFamily, the Audio component, the AppleUUC, libarchive, and other components all had memory corruption flaws that were fixed in this release.

One of the kernel bugs that was fixed could allow an app to run code with the same privileges as the kernel.

“An application may be able to execute arbitrary code with kernel privileges. Multiple memory corruption issues were addressed through improved memory handling,” the Apple advisory says.

Apple also fixed a serious vulnerability related to the way that macOS handles signed disk images.

“A malicious application may be able to execute arbitrary code with system privileges. A validation issue existed in signed disk images. This issue was addressed through improved size validation,” the advisory says.

The release of MacOS Sierra also includes fixes for 16 separate vulnerabilities in the PHP implementation in the operating system, including some that could lead to arbitrary code execution. And there’s also a patch for a bug that could allow a remote attacker to redirect a victim’s traffic.

“A remote attacker may be able to proxy traffic through an arbitrary server. An issue existed in the handling of the HTTP_PROXY environment variable. This issue was addressed by not setting the HTTP_PROXY environment variable from CGI,” Apple said in its advisory.