Amigos, boa noite!
Estou com um caso, provavelmente algo que esteja fazendo SQL injection em meu Postgresql, mais precisamente no banco postgres, criando uma função como abaixo:
<code>
-- Function: sys_eval(text)
-- DROP FUNCTION sys_eval(text);
CREATE OR REPLACE FUNCTION sys_eval(text)
RETURNS text AS
'/tmp/gameover.so', 'sys_eval'
LANGUAGE c IMMUTABLE STRICT
COST 1;
ALTER FUNCTION sys_eval(text)
OWNER TO postgres;
</code>
Além disto ele cria os seguintes arquivos em /tmp do meu Linux:
drwx------ 2 postgres postgres 40 Jun 12 22:28 config.f
drwx------ 2 postgres postgres 40 Jun 12 22:28 conf.n
drwx------ 2 postgres postgres 40 Jun 12 22:28 facebook
-rw-r--r-- 1 postgres postgres 8.0K Jun 12 22:28 gameover.so
-rwx------ 1 postgres postgres 1.1K Jun 3 15:50 Loader.sh
drwx------ 2 postgres postgres 40 Jun 12 22:28 Run.sh
-rwxrwxrwx 1 postgres postgres 1.3M Jun 3 13:46 scsi_eh_320
Este scsi_eh_320, quando roda consome mais de 90% do CPU da máquina, fazendo com que ela pare de responder.
Bem, o que faço para resolver é, deletar a função e excluir os arquivos, porém em pouco tempo ele volta.
Acredito que tenha algum arquivo em meu sistema que está permitindo este SQL injection, porém não encontro em lugar nenhum.
Alguém já passou por isso ou tem alguma ideia de como bloquear que criem esta função em meu Postgres?
Agradeço qualquer ajuda!
Muito obrigado.
Kleber Rodrigues