Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: flightg...@packages.debian.org, to...@debian.org
Control: affects -1 + src:flightgear
User: release.debian....@packages.debian.org
Usertags: pu
Dear release team,
I've received a notification from the flightgear upstream maintainers
that they've discovered and fixed a security issue. I've applied the
proposed fix and already uploaded the package to unstable.
The security team suggested that a stable update might be good, as the
bug doesn't seem to need a DSA.
Please note that there's currently no CVE assigned (still in progress),
and there's also not a Debian bug in the BTS. However, the issue is
tracked in our security tracker:
https://security-tracker.debian.org/tracker/TEMP-0000000-5E50D9
Please find the patch attached which I'd like to upload for the next
stable point release.
If you accept this upload, the package "simgear" needs an upload as
well. The corresponding bug is #1094352.
Regards,
Tobias
diff -Nru flightgear-2020.3.16+dfsg/debian/changelog flightgear-2020.3.16+dfsg/debian/changelog
--- flightgear-2020.3.16+dfsg/debian/changelog 2022-10-26 19:51:29.000000000 +0200
+++ flightgear-2020.3.16+dfsg/debian/changelog 2025-01-27 13:37:11.000000000 +0100
@@ -1,3 +1,12 @@
+flightgear (1:2020.3.16+dfsg-1+deb12u1) bookworm; urgency=medium
+
+ * Team upload.
+ * New patch: move checkIORules() to SGPath::NasalIORulesChecker()
+ Thanks to Florent Rougon <f.rou...@frougon.net>
+ * Update versioned Build-Depends for libsimgear-dev
+
+ -- Dr. Tobias Quathamer <to...@debian.org> Mon, 27 Jan 2025 13:37:11 +0100
+
flightgear (1:2020.3.16+dfsg-1) unstable; urgency=medium
* New upstream version 2020.3.16+dfsg
diff -Nru flightgear-2020.3.16+dfsg/debian/control flightgear-2020.3.16+dfsg/debian/control
--- flightgear-2020.3.16+dfsg/debian/control 2022-10-26 19:51:18.000000000 +0200
+++ flightgear-2020.3.16+dfsg/debian/control 2025-01-27 13:36:47.000000000 +0100
@@ -24,7 +24,7 @@
libplib-dev,
libqt5svg5-dev,
libsimgear-dev (<= 1:2020.3.999),
- libsimgear-dev (>> 1:2020.3.16~),
+ libsimgear-dev (>> 1:2020.3.16+dfsg-1+deb12u1~),
libspeex-dev,
libspeexdsp-dev,
libsqlite3-dev,
diff -Nru flightgear-2020.3.16+dfsg/debian/patches/Move-checkIORules-to-SGPathNasalIORulesChecker.patch flightgear-2020.3.16+dfsg/debian/patches/Move-checkIORules-to-SGPathNasalIORulesChecker.patch
--- flightgear-2020.3.16+dfsg/debian/patches/Move-checkIORules-to-SGPathNasalIORulesChecker.patch 1970-01-01 01:00:00.000000000 +0100
+++ flightgear-2020.3.16+dfsg/debian/patches/Move-checkIORules-to-SGPathNasalIORulesChecker.patch 2025-01-27 13:10:43.000000000 +0100
@@ -0,0 +1,54 @@
+From: Florent Rougon <f.rou...@frougon.net>
+Date: Tue, 21 Jan 2025 00:31:22 +0100
+Subject: NasalSGPath: move checkIORules() to SGPath::NasalIORulesChecker()
+
+This allows the from_nasal_helper() in SimGear that constructs SGPath
+instances from Nasal scalars to use SGPath::NasalIORulesChecker() as a
+PermissionChecker.
+---
+ src/Scripting/NasalSGPath.cxx | 23 ++++-------------------
+ 1 file changed, 4 insertions(+), 19 deletions(-)
+
+--- a/src/Scripting/NasalSGPath.cxx
++++ b/src/Scripting/NasalSGPath.cxx
+@@ -30,28 +30,12 @@
+ typedef std::shared_ptr<SGPath> SGPathRef;
+ typedef nasal::Ghost<SGPathRef> NasalSGPath;
+
+-SGPath::Permissions checkIORules(const SGPath& path)
+-{
+- SGPath::Permissions perm;
+- if (!path.isAbsolute()) {
+- // SGPath caches permissions, which breaks for relative paths
+- // if the current directory changes
+- SG_LOG(SG_NASAL, SG_ALERT, "os.path: file operation on '" <<
+- path<< "' access denied (relative paths not accepted; use "
+- "realpath() to make a path absolute)");
+- }
+-
+- perm.read = path.isAbsolute() && !SGPath(path).validate(false).isNull();
+- perm.write = path.isAbsolute() && !SGPath(path).validate(true).isNull();
+-
+- return perm;
+-}
+-
+ // TODO make exposing such function easier...
+ static naRef validatedPathToNasal( const nasal::CallContext& ctx,
+ const SGPath& p )
+ {
+- return ctx.to_nasal( SGPathRef(new SGPath(p.utf8Str(), &checkIORules)) );
++ return ctx.to_nasal(SGPathRef(new SGPath(p.utf8Str(),
++ &SGPath::NasalIORulesChecker)));
+ }
+
+ /**
+@@ -78,7 +62,8 @@
+ */
+ static naRef f_desktop(const nasal::CallContext& ctx)
+ {
+- return validatedPathToNasal(ctx, SGPath::desktop(SGPath(&checkIORules)));
++ return validatedPathToNasal(
++ ctx, SGPath::desktop(SGPath(&SGPath::NasalIORulesChecker)));
+ }
+
+ /**
diff -Nru flightgear-2020.3.16+dfsg/debian/patches/series flightgear-2020.3.16+dfsg/debian/patches/series
--- flightgear-2020.3.16+dfsg/debian/patches/series 2022-10-26 19:50:15.000000000 +0200
+++ flightgear-2020.3.16+dfsg/debian/patches/series 2025-01-27 13:11:10.000000000 +0100
@@ -9,3 +9,4 @@
0009-Disable-some-newly-failing-tests.patch
0010-Ignore-some-more-tests.patch
0011-test-compilation-fix.patch
+Move-checkIORules-to-SGPathNasalIORulesChecker.patch