Re: Using festival in Orca (opens a shell)

Carles Pina i Estany <[email protected]> Sun, 18 Jan 2026 07:54:47 +0100
Newsgroups gmane.linux.debian.devel.accessibility
Message-ID <[email protected]>
--BagCB6J/qxYadepH
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 18 Jan 2026 07:54:47 +0100
From: Carles Pina i Estany <[email protected]>
To: [email protected]
Subject: Re: Using festival in Orca (opens a shell)


Hi,

Sorry for the long email.

TL;DR: festival --server (now with festival.socket/festival.service
running automatically, listening on localhost only and with a systemd
DynamicUser) opens a shell on the computer. Are we still happy?

On 11 Jan 2026 at 11:12:31, Samuel Thibault wrote:
> Carles Pina i Estany, le dim. 11 janv. 2026 07:21:52 +0100, a ecrit:
> > In other words, I didn't know if festival server was an optimization
> > but meant to be used by a single user or built to be used by multiple
> > users. Happy that is for multiple users.
>=20
> De facto, already now if some user starts it, it'll be available for
> other users on the tcp ports.

Before today I had one concern about systemd running festival --server:

As a user, when I install a web server (or other servers), I expect that
the package will run a service that will open a port. I also expect that
the default configuration is safe / secure (to a certain extend, at
least). In other words: if I install Apache, I am not surprised that it
will open a port and I expect that it might have a "welcome page" or
something. Or a mail server will open a port and at least will not allow
spammers to relay via my host.

When I install a speech synthesizer: I don't expect that it will open a
TCP port. Ok, the festival.socket is binding it on localhost only... but
it might bit of a surprise.

I also was concerned that I'm not familiar with what "festival --server"
can do (I never used it integrated into speech-dispatcher, etc.)

A few days ago, Sergio Oller contacted me to point out
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D495286 . It's a bug
=66rom 2008 that says that in Debian lenny there was an init.d script
for festival, but not in Debian etch. The init.d script was running, I
understand, festival --server as the root user. And festival allows and
still does in Debian trixie to run commands as the user that launched
festival.

More details:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D466146

How to run commands:
https://bugs.gentoo.org/170477

I've confirmed it in a Debian trixie (disabling the
festival.socket/service so I can run it as my user easier and find the
/tmp
file easier):

carles@pinux:~$ festival --server
server    Sat Jan 17 07:28:56 2026 : Festival server started on port 1314
client(1) Sat Jan 17 07:28:59 2026 : accepted from localhost

In another terminal:
carles@pinux:~$ telnet localhost 1314
Trying ::1...
Connection failed: S=E2=80=99ha refusat la connexi=C3=B3
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
(system "whoami > /tmp/festival-whoami2.txt")
LP
nil
ft_StUfF_keyOK

Then:
carles@pinux:~$ cat /tmp/festival-whoami2.txt
carles
carles@pinux:~$

So, with all of this, I see that the situation after enabling
festival.service/festival.socket:

-It binds only to localhost
-It's running as DynamicUser=3Dyes

Let's assume that only local users can take advantage of this.

I see that a localhost user might try doing things on the machine but
instead of the user's account it would be using the account that
DynamicUser created by systemd. Is this a risk somehow? Is it something
undesired?  Could this help a malicious localhost user bypass some
kind of security system?

Also, I've been trying to create an HTML/JavaScript such as visiting a
website it would send some data to localhost:1314. I haven't been able
to do it on Firefox due to CORS and default safety measures. I managed
with the "links" browser though. It connects to localhost 1314 and send
the data that I want (I haven't managed to run the system LISP command
but this is another discussion).

All of this to point out:
-festival --server is opening a remote shell (bound to localhost)
-Are we still happy with the festival.socket/festival.service that we added?

I only see that a local user can do things to the machine as the Dynamic
user. I don't see how a user could visit a site with Firefox and then
make the site connect to localhost:1314 but I am not a security expert.

If it's not a problem and we decide that it's all good: ok!

If it's a problem, in the short term: should we have a debconf question
asking if the festival.socket/festival.service should be enabled? (the
pros and cons)

Cheers,

PS: if I take a few days to answer: usually I do Debian stuff a few
earlish mornings every week, depending on our baby's naps and sleeping :-)
so I might not be able to follow up the discussion until Wednesday or
Friday if it needs some time to answer. Or evenings depending on other
family life things...

--=20
Carles Pina i Estany
https://carles.pina.cat | [email protected] | [email protected]

--BagCB6J/qxYadepH
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEth6/Zob9uGYomaJ+qAKIT2ClX4EFAmlsg7cACgkQqAKIT2Cl
X4GWGxAAizKy1hAykR4p8YE5nYZq7bKUvGeTaUjq94O6g9pq41n9lV0OOf3hXYO3
6Btkr4t+iAlZVHnpTTUXSp/tnydOumSSHmw2GRqMjDxhWN3tybGuHuZ4SJcO1HVY
TM8g/6kxubOtu4yKak3/yhCYXmqdhHcJ7kOkPc1WePpMgMrSWFqFl26RDqWnr/5M
AuWLGFRsu1UsyhfrbWCqhhaQ05HjJvE4tWUJuvSwRAwR0gL5NCYQk/45xrV3MQFs
r9xp2wiFTr+B0+Gpl6qAEmNRki2t/B8pZE6OCNGBPH+10i5GsimqptTSv13aTJda
VWt4kROcmZYim8sr1dFvmgdCx8TXu/RO7pzSRyssmt8LXX0tYMSeX51mWnowNFi5
VJ/TnM2uoAdSV+KPsX9Cn0a0acttfscNd46gJLbsTy7ybm14RjwgriF94+k71IAL
Z9a6D+zcBcYfunqWl4ZqB5ee0aWXs1sBSwla3AuEeP+WaH9cL7rN7e+Noi16GfVv
nO6aria4uXBXn+EkF6IbFfOVhVlAkRXXhSnQHxF6e9T6QbJM6gYRr2OyRsnZI+k5
k8CfKlFXCxI9qozkG2A+bmAVu9faUq2vCVSUroKWFEYApckwv9rmYLippTVvSeC1
FtkEYhn6wbAliLx07v5NElaYE1Nu38MreQ5NeFcw9ObZyCnCD2M=
=VSvZ
-----END PGP SIGNATURE-----

--BagCB6J/qxYadepH--