@ebarretto from ~ubuntu-security previously reviewed tpm2-tss internally
- so am pasting that review here for completeness:
I've reviewed tpm2-tss 2.1.0-4 as checked into disco.
This shouldn't be considered a full audit but rather a quick gauge of
maintainability.
tpm2-tss is TCG's (Trusted Computing Group) implementation of TPM2 Software
Stack (TSS2).
No CVE history
Build-Depends:
autoconf
autoconf-archive
debhelper
docbook-xsl
libcmocka-dev
libgcrypt20-dev
libtool
pkg-config
xsltproc
postinst file on libtss2-udev_2.1.0-4_iall/DEBIAN/postinst
No post/prm rm for libtss2-udev
No postinst and post/pre rm for libtss2-dev and libtss2-esys0
No init scripts
No systemd services
No DBus services
No setuid
No binaries in PATH
No sudo fragments
Udev rule in libtss2-udev:
# tpm devices can only be accessed by the tss user but the tss
# group members can access tpmrm devices
KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss"
KERNEL=="tpmrm[0-9]*", MODE="0660", OWNER="tss", GROUP="tss"
Test suite under test/. vTPM needed to run it, shouldn't be run against an
actual TPM.
test/unit/ - run during build
test/helper, test/integration and test/tpmclient also available.
No cron jobs
Some warnings but nothing to worry
dpkg-scanpackages: warning: Packages in archive but missing from override
file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy
dpkg-scanpackages: warning: Packages in archive but missing from override
file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy
sbuild-build-depends-tpm2-tss-dummy
dpkg-source: warning: extracting unsigned source package
(tpm2-tss_2.1.0-4.dsc)
Makefile-test.am:66: warning: variable 'ESYSCRY_LDFLAGS' is defined but no
program or
configure: WARNING: unrecognized options: --disable-maintainer-mode
configure: WARNING: doxygen not found - will not generate any doxygen
documentation
configure: WARNING: unrecognized options: --disable-maintainer-mode
debian/resourcemgr.xml:62: warning: failed to load external entity
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
debian/tpmclient.xml:62: warning: failed to load external entity
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
debian/tpmtest.xml:62: warning: failed to load external entity
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
# ERROR: 0
libtool: warning: relinking 'src/tss2-tcti/libtss2-tcti-device.la'
libtool: warning: relinking 'src/tss2-tcti/libtss2-tcti-mssim.la'
libtool: warning: relinking 'src/tss2-sys/libtss2-sys.la'
libtool: warning: relinking 'src/tss2-esys/libtss2-esys.la'
libtool: warning: remember to run 'libtool --finish
/usr/lib/x86_64-linux-gnu'
dpkg-gencontrol: warning: Depends field of package libtss2-dev:
substitution variable ${shlibs:Depends} used, but is not defined
dpkg-scanpackages: warning: Packages in archive but missing from override
file:
dpkg-scanpackages: warning: sbuild-build-depends-core-dummy
sbuild-build-depends-lintian-dummy sbuild-build-depends-tpm2-tss-dummy
No subprocesses spawned
Lots of memory operations, a quick look at them, they look safe
Just a few file IO operations, they all look ok
Lots of logging. A quick look at them, they look safe
tpm2-tss make use of the following environment variables:
./test/integration/sapi-test-options.c:107: env_str =
getenv(ENV_TCTI_NAME);
./test/integration/sapi-test-options.c:110: env_str =
getenv(ENV_DEVICE_FILE);
./test/integration/sapi-test-options.c:113: env_str =
getenv(ENV_SOCKET_ADDRESS);
./test/integration/sapi-test-options.c:116: env_str =
getenv(ENV_SOCKET_PORT);
./src/util/log.c:159: char *envlevel = getenv("TSS2_LOG");
No privileged operations
Encryption
src/tss2-esys/esys_crypto_ossl.c: make use of openssl crypto
functions/structures
and so on. To name a few: RSA, EVP MD.
src/tss2-esys/esys_crypto_gcrypt.c: make use of libgcrypt
functions/structures
to calculate hashes/HMAC/RSA/ECC/AES and so on.
Networking is used in TPM Command Transimission Interface (TCTI) module for
interaction with the Microsoft TPM2 simulator.
tcti-socket - TPM simulator TCTI library
tcti-socket is a library that abstracts the details of direct communication
with the interface and protocol exposed by the daemon hosting the TPM2
reference implementation. The interface exposed by this library is defined
in
the “TSS System Level API and TPM Command Transmission Interface
Specification”
specification.
No WebKit
No PolicyKit
Some shellcheck warnings for test scripts
The overall quality of the code looks good, really mature as one would
expect from a software stack.
Security team ACK for promoting tpm2-tss to main.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1841595
Title:
[MIR] tpm2-tss
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/tpm2-tss/+bug/1841595/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs