If you're trying to run `cf update-buildpack` and you get the message `You are not authorized to perform the requested action`, it means that you are not allowed to update buildpacks. You need to be a platform operator to update buildpacks, as this task requires admin access.
If you are not an operator, and you need to use a specific version of a buildpack or even a buildpack that's not in the list of supported buildpacks, you can do this with the `-b` argument to `cf push`. This argument allows you to use any buildpack that is stored in a git repository and is accessible to the platform. The accessibility is important, because the platform will need to reach out and download the buildpack, so it needs to have network access to it.
Ex: `cf push -b https://github.com/cloudfoundry/php-buildpack.git#v4.3.56`.
The info following the `#` can be either a git branch name or a git tag name. I've used a tag name in the example above.
Hope that helps!