From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Printf and quoting in general, SQL injection in particular [was: Emacs Modular Configuration: the preferable way] Date: Tue, 22 Jun 2021 00:29:28 +0300 Message-ID: References: <87pmwgdiyj.fsf@zoho.eu> <83y2b3tq07.fsf@gnu.org> <871r8vcrnm.fsf@posteo.net> <20210621141148.GA29347@tuxteam.de> <20210621211547.GA12274@tuxteam.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6601"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0.7+183 (3d24855) (2021-05-28) Cc: help-gnu-emacs@gnu.org To: tomas@tuxteam.de Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 21 23:31:47 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lvRWE-0001Ym-Ok for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 21 Jun 2021 23:31:46 +0200 Original-Received: from localhost ([::1]:50948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lvRWD-0006kr-DX for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 21 Jun 2021 17:31:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvRVq-0006jm-Ow for help-gnu-emacs@gnu.org; Mon, 21 Jun 2021 17:31:22 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:33337) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lvRVo-0004wI-NL for help-gnu-emacs@gnu.org; Mon, 21 Jun 2021 17:31:22 -0400 Original-Received: from localhost ([::ffff:197.157.0.61]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000076021.0000000060D10525.00001008; Mon, 21 Jun 2021 14:31:17 -0700 Mail-Followup-To: tomas@tuxteam.de, help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <20210621211547.GA12274@tuxteam.de> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SORBS_WEB=1.5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:131165 Archived-At: * tomas@tuxteam.de [2021-06-22 00:17]: > > the danger mentioned on the funny comic is practically non-existent as > > it will never take place on my side [...] > > But your side is not "the world", and therefore Eli's warning was > spot-on. Someone will browse the mail archives and copy your solution > without knowing the dangers. I agree on that. But we cannot possibly expect all possible dangers to be known by all possible programmers at all times especially on this mailing list, and then in so many external Emacs Packages. My intention to improve is (should) be perceivable. The email you are replying to is a proof that I did not claim it is "solution" at all. Quite contrary, I have validated your point and found 400+ possible problems in the program. It should be clear it is not a definite solution to every reader. Programs develop. They are never perfect until they get perfect. Without a single occurence of the incident with SQL it is exaggeration to say there is practical danger, rather hypothetical danger. Then when we speak of the PostgreSQL, users should anyway not be given permissions to DROP tables as that should be left to administrators. There is similar approach to updates of tables, there is row level security and users can update whatever they are permitted to, but not what they are not permitted to. All the dangers we speak about are usually solved at the database level. > > I am heavy user of the Emacs package: emacs-libpq @ Github > > https://github.com/anse1/emacs-libpq > > No idea and no bandwidth to read it all. If you are tied to > PostgreSQL (a good choice, I'd say), consider using prepared > queries: they do what client-side template expansion (even the > careful kind, with unescaping and all), and I'd expect them to > do it much better, since PostgreSQL knows its own syntax best. I will do, thanks. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/