Package: realtimebattle
Version: 1.0.8-11
Severity: important
Tags: patch

Dear Maintainer,

The LDFLAGS hardening flags are missing because they are
overwritten in debian/rules.

The following patch fixes the issue.

diff -u realtimebattle-1.0.8/debian/rules realtimebattle-1.0.8/debian/rules
--- realtimebattle-1.0.8/debian/rules
+++ realtimebattle-1.0.8/debian/rules
@@ -18,7 +18,7 @@
 build-stamp:
        dh_testdir
 
-       ./configure --prefix=/usr --with-rtb-dir=/usr/lib/realtimebattle 
LDFLAGS=-Wl,--as-needed
+       ./configure --prefix=/usr --with-rtb-dir=/usr/lib/realtimebattle 
LDFLAGS="$(LDFLAGS) -Wl,--as-needed"
 
        touch config.h.in
        if [ ! -x $(JAVAC) ]; then export ROBOTS="empty rotate_and_fire 
seek_and_destroy xt-bot thomas2 joypad_robot perl-Skeleton perl raziel"; fi

To check if all flags were correctly enabled you can use
`hardening-check` from the hardening-includes package and check
the build log (hardening-check doesn't catch everything):

    $ hardening-check /usr/games/realtimebattle 
/usr/lib/realtimebattle/Robots/rtb-team-framework/rtb-team 
/usr/lib/realtimebattle/Robots/xt-bot-b.robot ...
    /usr/games/realtimebattle:
     Position Independent Executable: no, normal executable!
     Stack protected: yes
     Fortify Source functions: yes (some protected functions found)
     Read-only relocations: yes
     Immediate binding: no not found!
    /usr/lib/realtimebattle/Robots/rtb-team-framework/rtb-team:
     Position Independent Executable: no, normal executable!
     Stack protected: yes
     Fortify Source functions: yes (some protected functions found)
     Read-only relocations: yes
     Immediate binding: no not found!
    /usr/lib/realtimebattle/Robots/xt-bot-b.robot:
     Position Independent Executable: no, normal executable!
     Stack protected: yes
     Fortify Source functions: unknown, no protectable libc functions used
     Read-only relocations: yes
     Immediate binding: no not found!
    ...

(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
-- 
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9

Attachment: signature.asc
Description: Digital signature

Reply via email to