[ Reason ]
Please consider libgpod 0.8.3-22+deb13u1 for trixie.
The iphone-set-info helper passes an uninitialized service descriptor pointer
to lockdownd_start_service(). The library reads the incoming pointer and, if
non-NULL, resets descriptor fields before sending its request. A garbage
pointer can therefore cause an invalid write and crash the helper.
This is Debian #1150915, fixed in unstable 0.8.3-24. The actual trixie
0.8.3-22 source still has the uninitialized declaration. This is not a new
trixie regression: it is present at least since Debian 0.8.3-1. Ubuntu fixed
the same initialization for LP #1221031 in 2013, but lost the extra change
when dropping its API-migration patch on upgrading to 0.8.3.
[ Impact ]
Affected users can encounter an iphone-set-info crash when the helper reaches
the AFC startup path while initializing device information. Its reliability
can depend on stack contents. The update removes this invalid-pointer path.
A different bug #1120105, which describes a system-wide freeze triggered by
iphone-set-info crash, was likely due to this bug; although I cannot verify
the fix due to the lack of available iPhone devices.
[ Tests ]
Manually verified from library emulation and through static code analysis.
[ Risks ]
Minimal risk. The patch only additionally initializes a pointer to NULL.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
A patch to initialize a pointer to NULL on definition. See the attached
full debdiff.
[ Other info ]
This patch is likely the fix to RC bug https://bugs.debian.org/1120105 .
Please let me know if you have any questions.
Best Regards,
Boyuan Yang