News for hackers. Stuff that matters.
Re:Ubuntu Systemd Vulnerability by Filligree on Wednesday June 28, 2017 @07:45AM (#14653283)
Memory corruption...

Someone would ask this sooner or later, so.. why is this written in C, really?

Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @08:38AM (#14653537)
Nah, more like why do systemd include anything to do with DNS at all.

The shoggoth keep sprouting pseudopods as devs gets bored and think they can reimplement a time tested daemon in a weekend.

Re:Ubuntu Systemd Vulnerability by sangnoir on Wednesday June 28, 2017 @11:28AM (#14654924)
> The shoggoth keep sprouting pseudopods as devs gets bored and think they can reimplement a time tested daemon in a weekend.

"Ph'nglui mglw'nafh Cthulhu Raleigh[1] wgah'nagl fhtagn" ("In his house at Raleigh, dead Cthulhu waits dreaming.")

1. I'm so sorry, but I couldn't keep myself from punning Red-Hat-sponsored systemd with the Cthulu mythos. For the non-Lovecraft fans, the original city is named "R'lyeh"

Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @03:26PM (#14657417)
Lovely. I actually confuse the two from time to time.
Re:Ubuntu Systemd Vulnerability by floatboth on Wednesday June 28, 2017 @01:03PM (#14655888)
Exactly — rewriting a time tested daemon written in an unsafe language to an untested daemon in the same unsafe language. The worst possible option.
Re:Ubuntu Systemd Vulnerability by qb45 on Wednesday June 28, 2017 @11:21AM (#14654875)
How else would you get DNS responses in XML over DBus? ;)
Re:Ubuntu Systemd Vulnerability by deno on Wednesday June 28, 2017 @03:37PM (#14657512)
DBus only uses XML for its introspection interface. There’s really no reason why you couldn’t switch it to anything else like tomorrow.

Specifically, DBus does not use XML for any message passing or data serialization. It uses its custom binary on-wire format.

Also to consume or provide DBus services you do not need to interact with any XML whatsoever (except maybe for Polkit but that’s not DBus).

Re:Ubuntu Systemd Vulnerability by cyphar on Wednesday June 28, 2017 @04:43PM (#14658174)
> There’s really no reason why you couldn’t switch it to anything else like tomorrow.

Except backwards compatibility? Something that any user of a supposedly-universal IPC bus requires out of the gate?

> It uses its custom binary on-wire format.

Even better, as we all know that custom binary on-wire formats have been proven to be more secure than any other option. Especially when written in C and exposed to a processes of all privilege levels.

Re:Ubuntu Systemd Vulnerability by deno on Wednesday June 28, 2017 @05:33PM (#14658680)
> Except backwards compatibility? Something that any user of a supposedly-universal IPC bus requires out of the gate?

You can put DBus server behind a proxy that handles that for you. The XML format is very simple and it doesn’t change.

My point was simply that XML use is very limited, not exposed by any high-level APIs and can be easily ignored.

XML is only used for introspection, a debug protocol on top of DBus.

> Even better, as we all know that custom binary on-wire formats have been proven to be more secure than any other option. Especially when written in C and exposed to a processes of all privilege levels.

DBus is a message-passing protocol. You can write it in anything you like.

You could have DBus server that talks Protocol Buffers or JSON if you like, as long as you provide gateway for legacy clients.

Re:Ubuntu Systemd Vulnerability by cyphar on Thursday June 29, 2017 @01:20AM (#14660979)
> My point was simply that XML use is very limited, not exposed by any high-level APIs and can be easily ignored.

Saying "you can change it to whatever you want" is not a helpful thing to say. I understand your point (it's not "baked in" or wahtever) but you're not helping your cause by stating that "oh, we could just change this part of the protocol whenever we want and it would all just work". Because it gives an aura of instability and "we can move fast and break things" in my eyes (even though DBus has been around for a long time).

> DBus is a message-passing protocol. You can write it in anything you like.

The message passing daemon is written in C, and kdbus is a plan to put it inside the kernel (written in C). Just because "you can write it in whatever language you want" doesn't change that it is currently written in C, and I doubt that anyone is going to rewrite it in Rust any time soon.

Again, I understand that DBus is a protocol and an implementation and you can swap out the implementation if you want. But how many implementations currently exist? One. So currently the dangers of having custom binary formats in C is a valid concern even if you might be able to switch to some other implementation in the distant future.

Re:Ubuntu Systemd Vulnerability by deno on Thursday June 29, 2017 @11:07AM (#14663883)
> But how many implementations currently exist? One.

I get your point about the inertia of there being one de facto implementation, but that’s not quite true. For example Glib’s DBus library contains an (almost) fully featured server implementation.

Anyway I’m not all that worried about the parser in particular. For one DBus wire format is well defined and pretty straightforward. This isn’t ASN.1. Actually it’s probably way simpler than modern DNS with EDNS, DNSSEC etc.

Re:Ubuntu Systemd Vulnerability by jononor on Thursday June 29, 2017 @06:52AM (#14662173)
Isn't dbus-daemon and kdbus (in a couple of incarnations) different implementations?
Re:Ubuntu Systemd Vulnerability by cyphar on Thursday June 29, 2017 @09:29AM (#14663102)
kdbus was a different implementation, but I was under the impression that kdbus was "only" a routing implementation (though in truth that's all that dbus-daemon is anyway). However, kdbus never landed anywhere and it has been abandoned in favour of bus1: https://www.youtube.com/watch?v=6zN0b6BfgLY.
Re:Ubuntu Systemd Vulnerability by JdeBP on Thursday June 29, 2017 @08:54AM (#14662851)
Ahem! The DNS protocol itself qualifies as a "custom binary on-wire format" in this regard. Be careful with this argument. (-:
Re:Ubuntu Systemd Vulnerability by pawadu on Wednesday June 28, 2017 @10:31AM (#14654426)
Good to know I am not the only one thinking this way...
Re:Ubuntu Systemd Vulnerability by jameskegel on Wednesday June 28, 2017 @10:32AM (#14654433)
>The shoggoth keep sprouting pseudopods

You're spot on.

Re:Ubuntu Systemd Vulnerability by Asooka on Wednesday June 28, 2017 @11:03AM (#14654722)
We should just start submitting patches that more or less copy-paste the code of the current best solution to the problem over the systemd implementation.
Re:Ubuntu Systemd Vulnerability by setq on Wednesday June 28, 2017 @11:12AM (#14654800)
There's a good implementation of systemd here: https://github.com/bluerise/openbsd/tree/master/sbin/init
Re:Ubuntu Systemd Vulnerability by a3n on Wednesday June 28, 2017 @09:17AM (#14653777)
I imagine because the people who wrote it were C programmers. Did any Ada/DNS or other $LANG/DNS people step up?
Re:Ubuntu Systemd Vulnerability by geodel on Wednesday June 28, 2017 @01:57PM (#14656506)
Those people step up only for objective technical criticism. Writing software systems/utilities is for others.
Re:Ubuntu Systemd Vulnerability by pas on Thursday June 29, 2017 @05:42AM (#14661916)
Re:Ubuntu Systemd Vulnerability by notalaser on Wednesday June 28, 2017 @08:15AM (#14653420)
> Someone would ask this sooner or later, so.. why is this written in C, really?

When systemd was started, Rust barely had a working compiler and go had been announced for about one year.

Re:Ubuntu Systemd Vulnerability by lmm on Wednesday June 28, 2017 @08:51AM (#14653599)
Sure, but Ada was a first-class language in GCC, many distributions shipped OCaml code...
Re:Ubuntu Systemd Vulnerability by notalaser on Wednesday June 28, 2017 @11:14AM (#14654816)
Do you think (as in bet-your-company's-profits-on-it believe) that Ada will still be a first-class language in GCC ten years from now (the standard product lifecycle for RHEL), and that you'll be able to staff the project and build a community throughout that period?
Re:Ubuntu Systemd Vulnerability by lmm on Wednesday June 28, 2017 @11:30AM (#14654952)
If I had to choose between betting my company's profits on Ada or C, I'd choose Ada (though I think there are better choices today). Limited tools and a need to train developers are easier to deal with than random crashes and security vulnerabilities.
Re:Ubuntu Systemd Vulnerability by notalaser on Wednesday June 28, 2017 @03:54PM (#14657665)
But it's not "just" limited tools and a need to train developers. A language having a small community results in a lack of library and collaboration; you end up dealing with tool vendors who barely manage to keep themselves afloat, let alone invest in development, with long unmaintained libraries, with months, sometimes years passing between when a new architecture or OS is available and when the compiler and the libraries you use get updated.

It's not too different from how things are in Common Lisp land, a language (and a land...) that I'm pretty familiar with. It's a great, probably the best language. There are a few success stories, but truth is, in 2017, most large-scale, non-hobby projects are failures.

Re:Ubuntu Systemd Vulnerability by pjmlp on Wednesday June 28, 2017 @09:02AM (#14653666)
Ada, FreePascal, Oberon, ActiveOberon, ComponentPascal, Modula-3, D

All have GNU/Linux compilers available.

Re:Ubuntu Systemd Vulnerability by notalaser on Wednesday June 28, 2017 @10:40AM (#14654511)
I love Ada, and I've written Ada code, but there are so few people who know it that building a community around an init system built in Ada is very difficult. The barrier of entry for contributions is "learn this language developed by the DoD thirty years ago that you won't use unless you work on embedded systems, in the US, for a living." I agree that it's a better technological choice than C, for any systems-level program, but Red Hat, like virtually any company out there, cares about money more than tech.

FreePascal, Oberon, ActiveOberon, are all great (I'm hesitant to say I know Oberon since I haven't written Oberon code in like 15 years), but besides having the same problem as Ada above, the communities maintaining the compilers are small and understandingly fragile. systemd is still going to be here 15 years from now. Oberon -- who knows?

Modula really belongs in a museum :-).

Besides, they'd all need things like D-Bus bindings etc., a working, stable compiler is just the first step.

Re:Ubuntu Systemd Vulnerability by pjmlp on Wednesday June 28, 2017 @01:09PM (#14655965)
Yeah, I am painful aware of the reality, being an Wirth language's fan since the early 90's.

The fact is that UNIX-like OSes are married with C, unless there is a commercial entity like Apple or Google, pushing out of the way, UNIX FOSS developers will always gravitate around it for system level applications.

It has always been like that, system languages that aren't the platform main language(s), are relegated to 2nd class status and eventually die or strive in a small niche.

Hence why I think UNIX only has a path to safety in the hands of Apple and Google, because I don't see *BSD or Linux developers using anything other than C for system level code.

Re:Ubuntu Systemd Vulnerability by jamespo on Wednesday June 28, 2017 @10:37AM (#14654481)
It would appear none have sufficient interested developers to work on an init replacement
Re:Ubuntu Systemd Vulnerability by sedachv on Wednesday June 28, 2017 @02:46PM (#14657068)
GNU Shepherd is an init replacement written in Guile, a dialect of Scheme. Guix ships with GNU Shepherd. Anything that runs in place of init should in principle be small, and hence not too difficult to write and maintain. So you are right that it is not any technical issues, but rather the disinterest of system software programmers in anything other than C, and the disinterest of language X programmers in system software, that is the main culprit.

https://www.gnu.org/software/shepherd/

https://www.gnu.org/software/guix/guix.html

Re:Ubuntu Systemd Vulnerability by pjmlp on Wednesday June 28, 2017 @01:03PM (#14655885)
Long time ago there was an attempt to build an userland in Ada, sadly they only managed to get an handful of developers.
Re:Ubuntu Systemd Vulnerability by jononor on Thursday June 29, 2017 @06:48AM (#14662160)
systemd has had close to 1000 contributors now (as recorded by git), with 30-40 active per month. Higher than I imagined. https://www.openhub.net/p/systemd
Re:Ubuntu Systemd Vulnerability by jancsika on Wednesday June 28, 2017 @08:01PM (#14659659)
I thought the piece of software under discussion was systemd-resolved. In which case-- why was it written in C?
Re:Ubuntu Systemd Vulnerability by revelation on Wednesday June 28, 2017 @07:56AM (#14653331)
That is not what springs to mind, more "why the fuck are you reimplementing DNS in init".

Like, this stuff was built tens of years ago and that code is crappy too but we have pretty much got rid of the most obvious security issues. Nobody wants to relive history so you can finally implement a broken DNS client.

Re:Ubuntu Systemd Vulnerability by vertex-four on Wednesday June 28, 2017 @08:14AM (#14653414)
systemd is not "just" init, it's a suite of various tools, most of which (including systemd-resolved) don't run as PID 1. It's a monolith by the fact that this project decided to take over a variety of normal system daemons and make it as difficult as possible to use many of them without using the rest - it's not a monolith in the sense of everything running in the same process.

I believe systemd-resolved, however, is one of those components that is entirely optional, and which nothing explicitly depends on... which makes it weird that Ubuntu chose to use it by default.

Re:Ubuntu Systemd Vulnerability by icebraining on Wednesday June 28, 2017 @08:31AM (#14653510)
Ubuntu already had a resolver installed by default on desktops (dnsmasq). They decided to switch because:

we picked "resolved" as that is small and lightweight, already present (part of the systemd package), does not require D-Bus (unlike dnsmasq), supports DNSSEC, provides transparent fallback to contacting the real DNS servers directly (in case anything goes wrong with the local resolver), and avoids the first issue above that /etc/resolv.conf always shows 127.0.0.1.

Re:Ubuntu Systemd Vulnerability by feld on Wednesday June 28, 2017 @10:47AM (#14654574)
DNSSEC is dead and useless unless every application is written to understand the error messages and every device runs its own DNS resolver (not forwarding, because it's not really validating then and the responses could be spoofed).

We don't need DNSSEC because it doesn't solve any existing problems. The validation is done at the application protocol level with TLS, and apps that aren't running TLS need to fix this gap.

So as it turns out DNSCrypt is winning the internet even though the standards bodies blocked it. Additionally, OpenDNS has massive deployment of DNSCrypt users and this is being furthered by Cisco Umbrella. Cisco is adding this capability to iPhones now as announced earlier this week.

tl;dr DNSSEC has always been DOA, but DNSCrypt is just getting started.

The one and only application I knew of that added DNSSEC for DANE removed it because it was worthless (irssi, irc client).

Re:Ubuntu Systemd Vulnerability by talideon on Wednesday June 28, 2017 @09:53AM (#14654062)
dnsmasq doesn't require dbus though: that's an optional dependency that has to be enabled at compile time.
Re:Ubuntu Systemd Vulnerability by vbernat on Wednesday June 28, 2017 @11:41AM (#14655060)
To make it work with Network Manager, it needs DBus support. So distributions compile it with DBus support.
Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @03:36PM (#14657506)
So eliminate Network Mangler, two problems with one stone...
Re:Ubuntu Systemd Vulnerability by talideon on Wednesday June 28, 2017 @01:19PM (#14656070)
Sure, but the key there is NetworkManager. dnsmasq itself doesn't require DBus.
Re:Ubuntu Systemd Vulnerability by detaro on Wednesday June 28, 2017 @05:40PM (#14658734)
How does systemd-resolved work with NM? If the goal in general is to have a non-dbus version when NM isn't used, then provide both versions as packages.
Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @08:40AM (#14653546)
Re:Ubuntu Systemd Vulnerability by icebraining on Wednesday June 28, 2017 @08:49AM (#14653589)
Are you confusing "can use" with "requires"?
Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @08:52AM (#14653608)
I suspect any alternative is a fall back that cause as much troubles as it "solves". After all, the principle devs of systemd are all very much in love with dbus (bloody thing require a copy to be started by initramfs even).
Re:Ubuntu Systemd Vulnerability by JdeBP on Thursday June 29, 2017 @09:12AM (#14662980)
You are missing the part where the user manual and the systemd new features announcement state that the Desktop Bus API is systemd-resolved's "native, fully-featured API"; and describe the GNU C library NSS API and the DNS APIs as limited functionality APIs, whose avoidance by applications is "strongly recommended" in the case of the latter.
Re:Ubuntu Systemd Vulnerability by setq on Wednesday June 28, 2017 @08:31AM (#14653512)
Indeed. It's not just init, it's Windows service manager, COM, MSMQ, task scheduler and event log and all the associated problems in one convenient package for Linux!
Re:Ubuntu Systemd Vulnerability by talideon on Wednesday June 28, 2017 @09:54AM (#14654070)
Not just that, but it's both a floor polish and a dessert topping!
Re:Ubuntu Systemd Vulnerability by interestingemu on Wednesday June 28, 2017 @08:31AM (#14653513)
> I believe systemd-resolved, however, is one of those components that is entirely optional, and which nothing explicitly depends on...

Yet. Wouldn't be the first time some "optional" component became mandatory.

Re:Ubuntu Systemd Vulnerability by icebraining on Wednesday June 28, 2017 @08:34AM (#14653524)
Which optional systemd components became mandatory?
Re:Ubuntu Systemd Vulnerability by dijit on Wednesday June 28, 2017 @08:38AM (#14653538)
Journald
Re:Ubuntu Systemd Vulnerability by icebraining on Wednesday June 28, 2017 @08:44AM (#14653563)
When was journald optional?
Re:Ubuntu Systemd Vulnerability by dijit on Wednesday June 28, 2017 @09:06AM (#14653699)
When systemd first landed in Fedora 16.

You could use syslog or journald (or both. But journald was optional)

Re:Ubuntu Systemd Vulnerability by icebraining on Wednesday June 28, 2017 @09:19AM (#14653791)
Journald didn't even exist when Fedora 16 was released, so how could it be optional?

Meanwhile, from the first public document of journald[1], it was always designed as an indispensable component of systemd.

[1] https://docs.google.com/document/pub?id=1IC9yOXj7j6cdLLxWEBA...

Re:Ubuntu Systemd Vulnerability by dijit on Wednesday June 28, 2017 @02:23PM (#14656839)
I have strong memories of installing it on fedora 16 long before the 17 release was announced. I don't know about intent but I was a very avid fedora user and I was pro-journald before it was forced down my throat.
Re:Ubuntu Systemd Vulnerability by s_kilk on Wednesday June 28, 2017 @08:07AM (#14653376)
> "why the fuck are you reimplementing DNS in init"

Because systemd

Re:Ubuntu Systemd Vulnerability by FridgeSeal on Wednesday June 28, 2017 @08:08AM (#14653380)
How plausible is it that someone/some group could rewrite/update this to be written in Rust? (Which would presumably solve a lot of the memory corruption issues if I understand Rust's memory safety correctly?).
Re:Ubuntu Systemd Vulnerability by zanny on Wednesday June 28, 2017 @02:43PM (#14657041)
Whats what Redox is, pretty much. The trick to understand in the GNU/Linux world is that C is sacred - it is so sacred Gnome developers write desktop applications in C. It is absolutely a religion.

A lot of it is legacy, of course. The steering heads of projects have been around for over 30 years in many cases. These are people who dedicate their lives to a cause, and a lot of it is relation to a vision of the perfect OS circa 1990 - albeit, systemd doesn't follow that philosophy, but the participants in the project are cut from the same cloth, with some new blood and ideas mixed in enough to cast aside the unix philosophy but not enough to change course away from C.

And its all free software, after all. The developers of coreutils, Linux, Mesa, GCC, systemd, NetworkManager, Samba, NFS, and so many other services and applications in use by millions all at least started out as a project of passion. They chose C because that is where their passion lay. We are seeing a new age of such passions emerging around Rust, which is great to see. Whether or not Redox or similar projects can develop the momentum to approach the C lineage is something to be seen (and I would add the permissive licensing is not helping their situation) but the spark is definitely there.

Re:Ubuntu Systemd Vulnerability by cesarb on Wednesday June 28, 2017 @04:10PM (#14657831)
Rust has an important advantage over many other languages: since Firefox now requires it, for most desktop distributions it becomes one of the "must have" languages, together with C and C++. That makes writing system software in Rust an easier sell. Also, IMO Rust sits between C and C++ in the programming language spectrum, so it should be more acceptable for C and C++ programmers than higher-level languages.
Re:Ubuntu Systemd Vulnerability by zanny on Wednesday June 28, 2017 @06:26PM (#14659068)
Rust isn't one of those languages you need to include in a distro. Binary rust is just so's and elf's. It has no runtime, so its compile once and run anywhere with a C linker.

Its development tools are spread like wildfire, but in part that is because of their isolation - you only need rustup to bootstrap your own local Rust ecosystem.

Compared to many other recent native languages, the lack of a runtime absolutely helps Rust in adoption.

Re:Ubuntu Systemd Vulnerability by pjmlp on Thursday June 29, 2017 @02:38AM (#14661237)
Actually it was the adoption of GNU/Linux and *BSD that increased the adoption of C, given that they are UNIX systems.

Back when GNU/Linux was still at 0.x versions, the OS industry was starting to move to C++. Even though Mac OS, OS/2 and Windows APIs and kernel were written in C, everyone was using C++ with PowerPlant, OWL, MFC, CSet++ or languages like Object Pascal.

OS like Symbian and BeOS were even fully written in C++.

But the adoption of GNU/LInux and BSD with the sacred C, meant everyone that wanted to play ball need to use C instead, so the adoption grew and here we are.

Re:Ubuntu Systemd Vulnerability by teamhappy on Wednesday June 28, 2017 @08:44AM (#14653561)
Not plausible at all.

    * Rewriting a codebase is much harder than it seems
    * systemd is pretty big (376,726 LOC according to Open Hub) which makes it even harder to rewrite
    * All maintainers and contributors are C programmers
    * Distros don't want their codebase to be made up of many different languages
Re:Ubuntu Systemd Vulnerability by rndgermandude on Wednesday June 28, 2017 @10:18AM (#14654307)
* You can just rewrite systemd-resolved (and similar networked services), not the entire systemd, for a start. E.g. Firefox, which has even more LOC, started rewriting a ton of stuff in javascript and now rust (e.g. mp4 parsers was the first rust code in Firefox IIRC)

* If your project lacks people with the required skill set, then reach out to programmers who got what you need and educate yourself.

* Distro codebases are not just C since forever, they are a mix of all kinds of stuff, in particular but not limited to C, C++, perl, shell, python.

Re:Ubuntu Systemd Vulnerability by teh_klev on Wednesday June 28, 2017 @11:05AM (#14654737)
> Distro codebases are not just C since forever, they are a mix of all kinds of stuff

Indeed....I was surprised to discover OCaml used in Citrix XenServer when spelunking the codebase.

Re:Ubuntu Systemd Vulnerability by kps on Wednesday June 28, 2017 @11:26AM (#14654913)

  > * Rewriting a codebase is much harder than it seems
… which is why systemd shouldn't be doing it.
Re:Ubuntu Systemd Vulnerability by Someone1234 on Wednesday June 28, 2017 @12:51PM (#14655776)
> * Distros don't want their codebase to be made up of many different languages

That ship sailed a long time ago. Distros already contain C/C++/Python/Perl/Shell Script and others. It is meaningless if you added Go/Rust to that mix.

Re:Ubuntu Systemd Vulnerability by wott on Wednesday June 28, 2017 @10:29AM (#14654403)
> systemd is pretty big (376,726 LOC according to Open Hub) which makes it even harder to rewrite

That's about twice as much as the Linux kernel when I started using a Linux distribution, I believe...

Re:Ubuntu Systemd Vulnerability by riquito on Wednesday June 28, 2017 @11:00AM (#14654685)
Please, Linux 1.0 was 150k loc, it's in the millions nowadays
Re:Ubuntu Systemd Vulnerability by jancsika on Wednesday June 28, 2017 @08:21PM (#14659774)
That seems unlikely.

However, I noticed Bruce Perens' message on the Devuan list about the idea of providing a libsystemd0 interface that calls non-systemd services to complete the requests that come in to the systemd API:

https://lists.dyne.org/lurker/message/20170618.121634.7c0d5b...

The plumbing for something like that could indeed be written in Rust. :)

edit: typo

Re:Ubuntu Systemd Vulnerability by bjourne on Wednesday June 28, 2017 @02:13PM (#14656712)
Rewriting in C++ would be a better and more practical choice though. Mostly because you can rewrite one component at a time.
Re:Ubuntu Systemd Vulnerability by Koshkin on Wednesday June 28, 2017 @11:43AM (#14655083)
Same can be asked about Linux, the kernel.
Re:Ubuntu Systemd Vulnerability by Someone1234 on Wednesday June 28, 2017 @12:48PM (#14655748)
Linux was written in 1991. Systemd was started in 2010.

The further you go back in time the less relevant the question is. And arguably any projects in the future written in C instead of a safer language really need to justify that choice if they sit on a security boundary.

C will be around for another hundred years or more. But hopefully new software looks beyond C giving that programmers seemingly cannot write and maintain secure software in it.

Re:Ubuntu Systemd Vulnerability by pjmlp on Wednesday June 28, 2017 @01:51PM (#14656452)
> The further you go back in time the less relevant the question is.

As Hoare so elegantly described at his Turing award speech, regarding Algol compilers, done in 1981:

"Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980, language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law."

Algol dialects like ESPOL and its successor NEWP where used for systems programming the Burroughs B5500 in 1961, 10 years before C was born, nowadays still sold by Unisys as ClearPath MCP.

Re:Ubuntu Systemd Vulnerability by Koshkin on Wednesday June 28, 2017 @03:24PM (#14657394)
Well, I guess, this has got to be said: security should never be a concern for application software developers.

This may or may not apply to things like systemd which live somewhere on the boundary between what would be pure "system" and "application" programs, but it is undeniably true that application program code, such as that of a document editor or a calculator, should be solely concerned with the application side of things, i.e. correctness and efficient implementation of what is otherwise known as "business logic", and security is usually not one of them - contrary to a very common, but mistaken, perception. It is the "system" component of the execution environment that should focus on what it has been designed for in the first place.

Therefore, ideally, it should not matter what programming language is used to write application software - whether it is C, Rust, Prolog, or SQL; it does sound ironic, though, that the most demanding pieces of a system - demanding in terms of reliability and security - are usually written in an "unsafe" language.

Re:Ubuntu Systemd Vulnerability by digi_owl on Wednesday June 28, 2017 @03:34PM (#14657484)
If that comparison do not get people going "wait, what?!", i don't know what will...
Re:Ubuntu Systemd Vulnerability by 4ydx on Thursday June 29, 2017 @03:12AM (#14661383)
In a word? Arrogance. LOC in c required to create systemd and all of its unnecessary processes is astounding.
Re:Ubuntu Systemd Vulnerability by tormeh on Wednesday June 28, 2017 @07:47AM (#14653288)
Because proper, hardcore programmers never make memory management mistakes and memory management is not that big of a problem, obviously. /s
[dead]
Re:Ubuntu Systemd Vulnerability by setq on Wednesday June 28, 2017 @08:46AM (#14653573)
Indeed. Merely "loud" programmers with corporate backing.