Package: aqsis
Version: 1.6.0-9
Severity: important
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Dear Maintainer,
The CPPFLAGS hardening flags are missing because CMake ignores
them by default.
The attached patch fixes the issue by adding them to
CFLAGS/CXXFLAGS. It also updates the debhelper Build-Depends to 9
which is necessary for compat=9 and uses +all instead of
+pie,+bindow to enable possible future hardening flags as well.
To check if all flags were correctly enabled you can use
`hardening-check` from the hardening-includes package:
$ hardening-check /usr/lib/libaqsis_util.so.1.6
/usr/lib/libaqsis_tex.so.1.6 /usr/lib/libaqsis_slxargs.so.1.6 ...
/usr/lib/libaqsis_util.so.1.6:
Position Independent Executable: no, regular shared library (ignored)
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: yes
/usr/lib/libaqsis_tex.so.1.6:
Position Independent Executable: no, regular shared library (ignored)
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: yes
/usr/lib/libaqsis_slxargs.so.1.6:
Position Independent Executable: no, regular shared library (ignored)
Stack protected: yes
Fortify Source functions: no, only unprotected functions found!
Read-only relocations: yes
Immediate binding: yes
...
The Fortify Source functions warnings are fine, the correct flags
are passed.
(Position Independent Executable and Immediate binding is not
enabled by default.)
Use find -type f \( -executable -o -name \*.so\* \) -exec
hardening-check {} + on the build result to check all files.
Regards,
Simon
[1]: https://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags
[2]: https://wiki.debian.org/HardeningWalkthrough
[3]: https://wiki.debian.org/Hardening
- -- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBCAAGBQJPVlBgAAoJEJL+/bfkTDL5rwQQALooTTrZ2OFXqqW8d8JnAMDN
YFD3Z19u99ITDh6UTB5Do77b4Ye9Bmbs/aE5BvDH6jDYID0K1sHMjcRhkgtgGAob
49nMnf2+SfY4uHwwNSmSooDmL3V7gWtxBXUHf5EsIJwL9FBsBwMuo9CSzkh1yoAq
oRue9bA6KN3l00gFSM4hUUcVnJFhfDvIXADw2r+8qv7vtRw5pXy8CZELms94u6m6
keu3Fb1Ps1sVaDClPqFGajiJR+mFy+etKaxIkiJ/k9kpGrEpsyjqAQDaqAx3f0Ui
/tNWQtd6q1TQPC6OSB7zXinsflduTh1hXDBBiUqKmAu1t0RQGVfeacgl6Vsk8ffa
0CLoE0FDIZsEEIyBm5k1XSjVfYHxVxHO2060bHcQUKdrTpUw9oFnSiqfXQbLR0Df
dSaXmBX9LJXi3wWCDKJO+DmNOoNlTGj26nwj9HpchxDjYw69oUZJ5POXXVHgoKq7
LUxrAE0E9q8e8xR+1FazoI8Rh3WJozfVm4DqY7QD6PyjeC/DbpMD+oUwFXB5t1OY
nUvluZMOr368VGSRLZeY/SqhCxHO/7agK9DexwbapesAoZsFExGObtSc/vL81mOv
H0Jqw0+kcvGYW0OClQgRqQejDILF+vQtjJRLGbBjUBVbzw7Nq5WNkgZhmifBDJKA
qgU8MFtMcqC3oauvrldD
=mbJe
-----END PGP SIGNATURE-----
diff -Nru aqsis-1.6.0/debian/control aqsis-1.6.0/debian/control
--- aqsis-1.6.0/debian/control 2011-12-19 01:59:25.000000000 +0100
+++ aqsis-1.6.0/debian/control 2012-03-06 18:40:08.000000000 +0100
@@ -4,7 +4,7 @@
Maintainer: Manuel A. Fernandez Montecelo <[email protected]>
Uploaders: David MartÃnez Moreno <[email protected]>
DM-Upload-Allowed: yes
-Build-Depends: debhelper (>= 8.9.0~), cmake (>= 2.6.3), flex (>= 2.5.35), bison (>= 1.35), libtiff4-dev, libjpeg-dev, libopenexr-dev, zlib1g-dev, libboost-filesystem-dev (>= 1.42), libboost-iostreams-dev (>= 1.42), libboost-wave-dev (>= 1.42), libboost-regex-dev (>= 1.42), libboost-serialization-dev (>> 1.42), libboost-test-dev (>= 1.42), libboost-thread-dev (>= 1.42), libfltk1.1-dev, fluid, xsltproc, libtinyxml-dev (>= 2.5)
+Build-Depends: debhelper (>= 9), cmake (>= 2.6.3), flex (>= 2.5.35), bison (>= 1.35), libtiff4-dev, libjpeg-dev, libopenexr-dev, zlib1g-dev, libboost-filesystem-dev (>= 1.42), libboost-iostreams-dev (>= 1.42), libboost-wave-dev (>= 1.42), libboost-regex-dev (>= 1.42), libboost-serialization-dev (>> 1.42), libboost-test-dev (>= 1.42), libboost-thread-dev (>= 1.42), libfltk1.1-dev, fluid, xsltproc, libtinyxml-dev (>= 2.5)
Standards-Version: 3.9.2
Homepage: http://www.aqsis.org/
diff -Nru aqsis-1.6.0/debian/rules aqsis-1.6.0/debian/rules
--- aqsis-1.6.0/debian/rules 2011-12-20 18:35:44.000000000 +0100
+++ aqsis-1.6.0/debian/rules 2012-03-06 18:46:34.000000000 +0100
@@ -3,9 +3,11 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-export DEB_BUILD_MAINT_OPTIONS := hardening=+pie,+bindnow
-export DEB_CFLAGS_MAINT_APPEND := -pipe -Wall
-export DEB_CXXFLAGS_MAINT_APPEND := -pipe -Wall
+# Cmake doesn't use CPPFLAGS, pass them to CFLAGS/CXXFLAGS to enable the
+# missing (hardening) flags.
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
+export DEB_CFLAGS_MAINT_APPEND := -pipe -Wall $(shell dpkg-buildflags --get CPPFLAGS)
+export DEB_CXXFLAGS_MAINT_APPEND := -pipe -Wall $(shell dpkg-buildflags --get CPPFLAGS)
export DEB_LDFLAGS_MAINT_APPEND := -Wl,-Bsymbolic -Wl,--as-needed