5 ms·
Do you mean of a programming language specification (e.g., ANSI Common Lisp, RnRS Scheme), or of a specific implementation? There is no the implementation of J
by reikonomusha 4y ago
Do you mean of a programming language specification (e.g., ANSI Common Lisp, RnRS Scheme), or of a specific implementation?
There is no the implementation of JavaScript. There are several, all with their own issues, security and otherwise.
- astrange 4y agoAny arbitrary implementation. Do specifications have security issues? (The implementation is usually the one with the security issues, not the programs you run on it. Of course, either one’s possible if it crosses a trust boundary.)
- reikonomusha 4y agoOpen-source projects like Steel Bank Common Lisp (SBCL) and commercial projects like Allegro Common Lisp alike respond to bugs reports of all manners, including security issues. I can't speak for Google, but looking at their commit history on SBCL, you can see various security-improving enhancements through the years, especially around the runtime written in C. I don't think anybody has done a formal study or written some kind of report on the security of said implementations, however. A gentleman named Paul Dietz implemented something called the "ANSI compliance test suite" [1], which is an implementation-agnostic battery of tests that examines how well an implementation adheres to the ANSI specification of Common Lisp. Dietz is also known for his prolific fuzz and randomized testing of Common Lisp implementations. He's been a source of obscure bug reports for years, and those bugs are always promptly fixed. [1] https://ansi-test.common-lisp.dev/ https://ansi-test.common-lisp.dev/
- astrange 4y agoThanks, that is informative, although now I’m confused why Google cares about SBCL. That seems like a Yegge-only thing. I did think of a specification-level security issue - bignums reduce math errors but mean operations are O(N), which puts you at great risk of DoS issues and sidechannel leaks in security-sensitive math. And of course Lisp’s features like macros tend to be powerful, and security has a “rule of least power” meaning those are harder to verify if you can’t statically analyze them.
- reikonomusha 4y agoGoogle cares about SBCL because their flight search software that powers Google Flights, Orbitz, Kayak, etc. is written in Common Lisp.
- lispm 4y ago> Do specifications have security issues? Sure, the Common Lisp standard specifies a default syntax mode, where the s-expression reader (-> the function READ) can execute arbitrary code at read time.