I reviewed vulkan-loader version 1.1.101.0-2_amd64 as checked into
disco. This shouldn't be considered a full security audit but rather a
quick check of maintainability.

- No CVE history in our database
- vulkan-loader provides support for loading the main vulkan library,
  handling layer and driver management including multi-gpu support to
  dispatch API calls to the correct driver and layer.
- Depends: debhelper, cmake, googletest, libwayland-dev, libx11-dev,
  libxcb1-dev, libxrandr-dev, pkg-config, python3
- Does not itself do networking
- No cryptography
- Does not daemonize
- No pre/post inst/rm
- No init scripts
- No dbus services
- No setuid files
- No binaries in the PATH
- No sudo fragments
- No udev rules
- A test suite is run during the build (as noted in the log, 23 of the
  tests fail due to missing vulkan driver but as this is expected this
  is not a concern)
- No cron jobs
- 3 warnings in build logs about memory allocation functions which
  declare as returning void * but are used for functions which expect an
  unsigned long * return value - these can safely be ignored
- No cppcheck warnings

- No subprocesses spawned
- Memory management is very careful in general, however I noticed that
  the loader allocates a buffer on stack for reading in ICD JSON
  descriptions - this uses the length of the JSON file as the length of
  the buffer to allocate and since these files can be user controlled it
  could be relatively easily exploited by dropping a very large JSON
  file to overrun the stack (since uses alloca() internally which has
  undefined behaviour if stack is overflown) - this might be worth
  investigating further but is really only a denial of service issue so
  not a high priority and no chance of privilege escalation etc
- Otherwise most memory management is quite careful, allocation return
  values are checked for failure, buffer lengths are checked, string
  lengths are checked and handled correctly etc.
- Does not itself do file IO beyond reading JSON as described above
- Logging is careful
- Uses the following environment variables:
  - VK_LOADER_DISABLE_INST_EXT_FILTER
  - VK_LOADER_DEBUG
  - XDG_CONFIG_DIRS
  - XDG_DATA_DIRS
  - XDG_DATA_HOME
  - HOME
- No privileged code sections
- No privileged functions
- No networking
- No temp files
- No WebKit
- No PolKit

Security team ACK for promoting vulkan-loader to main for disco.

** Changed in: vulkan-loader (Ubuntu)
     Assignee: Ubuntu Security Team (ubuntu-security) => (unassigned)

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to vulkan-loader in Ubuntu.
https://bugs.launchpad.net/bugs/1742711

Title:
  MIR: vulkan-loader

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/vulkan-loader/+bug/1742711/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to