EXIM에서 오염된 문을 수정합니다.

EXIM에서 오염된 문을 수정합니다.

Exim에서 하나 이상의 오염된 문을 이해하고 수정하려고 노력하고 있지만 해당 문을 어떻게 참조해야 하는지 모르겠습니다.

제가 생각하기에 슬픔을 안겨준 문장은 다음과 같습니다.

domainlist local_domains = @:domain1.org:domain2.org:domain2.org:\
         pgsql;select domain from virtdomains where domain='$domain'

실행 시 제공되는 출력은 다음과 같습니다.exim -C /etc/exim/exim.conf -d+all -bv [email protected]

간단하다고 확신하지만 설정하지 않았으며 이제 이를 유지하는 방법을 배우려고 하면 업그레이드할 수 없습니다.

...
11:06:52 33945 routing [email protected]
11:06:52 33945 --------> dnslookup router <--------
11:06:52 33945 local_part=test domain=test.com
11:06:52 33945 checking domains
11:06:52 33945  ╭considering: @:domain1.org:domain2.org:domain3.org:pgsql;select domain from virtdomains where domain='$domain'
11:06:52 33945  ├───────text: @:domain1.org:domain2.org:domain3.org:pgsql;select domain from virtdomains where domain='
11:06:52 33945  ├considering: $domain'
11:06:52 33945  ├considering: '
11:06:52 33945  ├───────text: '
11:06:52 33945  ├──expanding: @:domain1.org:domain2.org:domain3.org:pgsql;select domain from virtdomains where domain='$domain'
11:06:52 33945  ╰─────result: @:domain1.org:domain2.org:domain3.org:pgsql;select domain from virtdomains where domain='test.com'
11:06:52 33945             ╰──(tainted)
11:06:52 33945 search_open: pgsql "NULL"
11:06:52 33945 search_find: file="NULL"
11:06:52 33945   key="select domain from virtdomains where domain='test.com'" partial=-1 affix=NULL starflags=0 opts=NULL
11:06:52 33945 LRU list:
11:06:52 33945 internal_search_find: file="NULL"
11:06:52 33945   type=pgsql key="select domain from virtdomains where domain='test.com'" opts=NULL
11:06:52 33945 database lookup required for select domain from virtdomains where domain='test.com'
11:06:52 33945                              (tainted)
11:06:52 33945 LOG: MAIN PANIC
11:06:52 33945   tainted search query is not properly quoted (router dnslookup, /etc/exim/exim.conf 746): select domain from virtdomains where domain='test.com'
11:06:52 33945 search_type 15 (pgsql) quoting -1 (none)
11:06:52 33945 PostgreSQL query: "select domain from virtdomains where domain='test.com'" opts 'NULL'11:06:52 33945   tainted search query is not properly quoted (router dnslookup, /etc/exim/exim.conf 746): select domain from virtdomains where domain='test.com'
11:06:52 33945 search_type 15 (pgsql) quoting -1 (none)
...

답변1

4개월 안에 이 문제가 해결되길 바라지만 혹시 모르니... 저는 지금 이 문제를 해결하기 위해 MySQL 쿼리를 사용하고 있습니다. where 절에서 "domain" 매개변수를 참조하여 쿼리 자체를 수정할 수 있습니다.

domainlist local_domains = @:domain1.org:domain2.org:domain2.org:\
         pgsql;select domain from virtdomains where domain='${quote_pgsql:$domain}'

내가 겪고 있는 문제는 결과 자체가 문제가 있는 것으로 간주된다는 것입니다.

관련 정보