CVE-2014-0067
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly...
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
Exploit likelihood
What each source reports
NVD Score used
4.6
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
- Record
CVE-2014-0067- CVSS 2.0
- 4.6 Medium
AV:L/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-264
- Updated
- 2026-11-02
CVE List No score
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
- Record
CVE-2014-0067- Updated
- 2026-11-02
EUVDEUVD-2014-0160 No score
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
- Record
EUVD-2014-0160- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-gmhx-6jh3-87c2 No score
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly...
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
- Record
GHSA-gmhx-6jh3-87c2- Updated
- 2026-11-02
OSVMGASA-2014-0205 No score
Updated postgresql packages fix multiple security vulnerabilities
Updated postgresql packages fix security vulnerabilities:
Granting a role without ADMIN OPTION is supposed to prevent the grantee from adding or removing members from the granted role, but this restriction was easily bypassed by doing SET ROLE first. The security impact is mostly that a role member can revoke the access of others, contrary to the wishes of his grantor. Unapproved role member additions are a lesser concern, since an uncooperative role member could provide most of his rights to others anyway by creating views or SECURITY DEFINER functions (CVE-2014-0060).
The primary role of PL validator functions is to be called implicitly during CREATE FUNCTION, but they are also normal SQL functions that a user can call explicitly. Calling a validator on a function actually written in some other language was not checked for and could be exploited for privilege-escalation purposes. The fix involves adding a call to a privilege-checking function in each validator function. Non-core procedural languages will also need to make this change to their own validator functions, if any (CVE-2014-0061).
If the name lookups come to different conclusions due to concurrent activity, we might perform some parts of the DDL on a different table than other parts. At least in the case of CREATE INDEX, this can be used to cause the permissions checks to be performed against a different table than the index creation, allowing for a privilege escalation attack (CVE-2014-0062).
The MAXDATELEN constant was too small for the longest possible value of type interval, allowing a buffer overrun in interval_out(). Although the datetime input functions were more careful about avoiding buffer overrun, the limit was short enough to cause them to reject some valid inputs, such as input containing a very long timezone name. The ecpg library contained these vulnerabilities along with some of its own (CVE-2014-0063).
Several functions, mostly type input functions, calculated an allocation size without checking for overflow. If overflow did occur, a too-small buffer would be allocated and then written past (CVE-2014-0064).
Use strlcpy() and related functions to provide a clear guarantee that fixed-size buffers are not overrun. Unlike the preceding items, it is unclear whether these cases really represent live issues, since in most cases there appear to be previous constraints on the size of the input string. Nonetheless it seems prudent to silence all Coverity warnings of this type (CVE-2014-0065).
There are relatively few scenarios in which crypt() could return NULL, but contrib/chkpass would crash if it did. One practical case in which this could be an issue is if libc is configured to refuse to execute unapproved hashing algorithms (e.g., FIPS mode) (CVE-2014-0066).
Since the temporary server started by make check uses trust authentication, another user on the same machine could connect to it as database superuser, and then potentially exploit the privileges of the operating-system user who started the tests. A future release will probably incorporate changes in the testing procedure to prevent this risk, but some public discussion is needed first. So for the moment, just warn people against using make check when there are untrusted users on the same machine (CVE-2014-0067).
This update provides PostgreSQL versions 9.3.4, 9.2.8, 9.1.13, and 9.0.17 that fix these issues, as well as several others.
See the links in the upstream release announcements for more details.
The postgresql9.3 update also fixes an issue where the /var/run/postgresql directory was not created when the package is first installed (mga#13241).
- Record
MGASA-2014-0205- Updated
- 2026-11-02
OSVMGASA-2014-0222 No score
Updated postgresql packages fix multiple vulnerabilities
Updated postgresql packages fix security vulnerabilities:
Granting a role without ADMIN OPTION is supposed to prevent the grantee from adding or removing members from the granted role, but this restriction was easily bypassed by doing SET ROLE first. The security impact is mostly that a role member can revoke the access of others, contrary to the wishes of his grantor. Unapproved role member additions are a lesser concern, since an uncooperative role member could provide most of his rights to others anyway by creating views or SECURITY DEFINER functions (CVE-2014-0060).
The primary role of PL validator functions is to be called implicitly during CREATE FUNCTION, but they are also normal SQL functions that a user can call explicitly. Calling a validator on a function actually written in some other language was not checked for and could be exploited for privilege-escalation purposes. The fix involves adding a call to a privilege-checking function in each validator function. Non-core procedural languages will also need to make this change to their own validator functions, if any (CVE-2014-0061).
If the name lookups come to different conclusions due to concurrent activity, we might perform some parts of the DDL on a different table than other parts. At least in the case of CREATE INDEX, this can be used to cause the permissions checks to be performed against a different table than the index creation, allowing for a privilege escalation attack (CVE-2014-0062).
The MAXDATELEN constant was too small for the longest possible value of type interval, allowing a buffer overrun in interval_out(). Although the datetime input functions were more careful about avoiding buffer overrun, the limit was short enough to cause them to reject some valid inputs, such as input containing a very long timezone name. The ecpg library contained these vulnerabilities along with some of its own (CVE-2014-0063).
Several functions, mostly type input functions, calculated an allocation size without checking for overflow. If overflow did occur, a too-small buffer would be allocated and then written past (CVE-2014-0064).
Use strlcpy() and related functions to provide a clear guarantee that fixed-size buffers are not overrun. Unlike the preceding items, it is unclear whether these cases really represent live issues, since in most cases there appear to be previous constraints on the size of the input string. Nonetheless it seems prudent to silence all Coverity warnings of this type (CVE-2014-0065).
There are relatively few scenarios in which crypt() could return NULL, but contrib/chkpass would crash if it did. One practical case in which this could be an issue is if libc is configured to refuse to execute unapproved hashing algorithms (e.g., FIPS mode) (CVE-2014-0066).
Since the temporary server started by make check uses trust authentication, another user on the same machine could connect to it as database superuser, and then potentially exploit the privileges of the operating-system user who started the tests. A future release will probably incorporate changes in the testing procedure to prevent this risk, but some public discussion is needed first. So for the moment, just warn people against using make check when there are untrusted users on the same machine (CVE-2014-0067).
See the links in the upstream release announcements for more details.
- Record
MGASA-2014-0222- Updated
- 2026-11-02
Show 4 moreShow less
OSVopenSUSE-SU-2024:10030-1 No score
postgresql94-9.4.10-1.1 on GA media
These are all security issues fixed in the postgresql94-9.4.10-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10030-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10256-1 No score
postgresql93-9.3.15-1.1 on GA media
These are all security issues fixed in the postgresql93-9.3.15-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10256-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10273-1 No score
libecpg6-32bit-9.5.4-1.2 on GA media
These are all security issues fixed in the libecpg6-32bit-9.5.4-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10273-1- Updated
- 2026-11-02
OSVUBUNTU-CVE-2014-0067 No score
The "make check" command for the test suites in PostgreSQL 9.3.3 and earlier does not properly invoke initdb to specify the authentication requirements for a database cluster to be used for the tests, which allows local users to gain privileges by leveraging access to this cluster.
- Record
UBUNTU-CVE-2014-0067- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
postgresql-8.4Debian:6.0 |
before 8.4.22-0+deb6u1, plus listed versions 8.4.10-0squeeze18.4.10-0squeeze1~bpo50+18.4.10-18.4.11-0squeeze18.4.11-1 Show 40 moreShow less8.4.12-0squeeze18.4.12-18.4.12-28.4.12-38.4.13-0squeeze18.4.13-18.4.14-18.4.15-0squeeze18.4.15-18.4.16-0squeeze18.4.16-18.4.17-0squeeze18.4.17-18.4.18-0squeeze18.4.18-0wheezy18.4.19-0squeeze18.4.19-0wheezy18.4.20-0squeeze18.4.20-0wheezy18.4.21-0squeeze18.4.21-0wheezy18.4.22-0wheezy18.4.5-0squeeze28.4.5-18.4.5-1~bpo50+18.4.5-28.4.5-2~bpo50+18.4.6-18.4.7-0squeeze1~bpo50+18.4.7-0squeeze28.4.7-18.4.8-0squeeze18.4.8-0squeeze1~bpo50+18.4.8-0squeeze28.4.8-0squeeze2~bpo50+18.4.8-18.4.8-28.4.9-0squeeze18.4.9-0squeeze1~bpo50+18.4.9-1 |
8.4.22-0+deb6u1 |
postgresql-8.4Debian:6.0 From an advisory covering 8 CVEs |
before 8.4.20-0squeeze1, plus listed versions 8.4.10-0squeeze18.4.10-0squeeze1~bpo50+18.4.10-18.4.11-0squeeze18.4.11-1 Show 35 moreShow less8.4.12-0squeeze18.4.12-18.4.12-28.4.12-38.4.13-0squeeze18.4.13-18.4.14-18.4.15-0squeeze18.4.15-18.4.16-0squeeze18.4.16-18.4.17-0squeeze18.4.17-18.4.18-0squeeze18.4.18-0wheezy18.4.19-0squeeze18.4.19-0wheezy18.4.5-0squeeze28.4.5-18.4.5-1~bpo50+18.4.5-28.4.5-2~bpo50+18.4.6-18.4.7-0squeeze1~bpo50+18.4.7-0squeeze28.4.7-18.4.8-0squeeze18.4.8-0squeeze1~bpo50+18.4.8-0squeeze28.4.8-0squeeze2~bpo50+18.4.8-18.4.8-28.4.9-0squeeze18.4.9-0squeeze1~bpo50+18.4.9-1 |
8.4.20-0squeeze1 |
postgresql-9.1Debian:7 From an advisory covering 9 CVEs |
before 9.1.12-0wheezy1, plus listed versions 9.1.10-0wheezy19.1.10-19.1.11-0wheezy19.1.11-19.1.11-1~bpo60+1 Show 7 moreShow less9.1.11-29.1.12-0wheezy1~bpo60+19.1.9-19.1.9-29.1.9-39.1.9-49.1.9-5 |
9.1.12-0wheezy1 |
postgresql9.0Mageia:4 From an advisory covering 8 CVEs |
before 9.0.17-2.mga4 | 9.0.17-2.mga4 |
postgresql9.1Mageia:4 From an advisory covering 8 CVEs |
before 9.1.13-2.mga4 | 9.1.13-2.mga4 |
postgresql9.2Mageia:4 From an advisory covering 8 CVEs |
before 9.2.8-2.mga4 | 9.2.8-2.mga4 |
postgresql9.3Mageia:4 From an advisory covering 8 CVEs |
before 9.3.4-1.mga4 | 9.3.4-1.mga4 |
postgresql8.4Mageia:3 From an advisory covering 8 CVEs |
before 8.4.21-1.mga3 | 8.4.21-1.mga3 |
postgresql9.0Mageia:3 From an advisory covering 8 CVEs |
before 9.0.17-1.mga3 | 9.0.17-1.mga3 |
postgresql9.1Mageia:3 From an advisory covering 8 CVEs |
before 9.1.13-1.mga3 | 9.1.13-1.mga3 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
postgresql9.2Mageia:3 From an advisory covering 8 CVEs |
before 9.2.8-1.mga3 | 9.2.8-1.mga3 |
postgresql-9.1Ubuntu:14.04:LTS |
before 9.1.15-0ubuntu0.14.04, plus listed versions 9.1.10-19.1.10-1bzr19.1.11-19.1.11-29.1.12-19.1.13-19.1.14-0ubuntu0.14.04 |
9.1.15-0ubuntu0.14.04 |
postgresql-9.3Ubuntu:14.04:LTS |
before 9.3.5-0ubuntu0.14.04.1, plus listed versions 9.3.1-19.3.2-19.3.2-1ubuntu19.3.2-1ubuntu29.3.3-19.3.3-1bzr19.3.3-1bzr29.3.4-1 |
9.3.5-0ubuntu0.14.04.1 |
postgresql94openSUSE:Tumbleweed From an advisory covering 35 CVEs |
before 9.4.10-1.1 | 9.4.10-1.1 |
postgresql93openSUSE:Tumbleweed From an advisory covering 40 CVEs |
before 9.3.15-1.1 | 9.3.15-1.1 |
postgresql95openSUSE:Tumbleweed From an advisory covering 37 CVEs |
before 9.5.4-1.2 | 9.5.4-1.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2014-0067 is a medium vulnerability (CVSS 4.6) in Postgresql, published February 20, 2014. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 41st percentile. Fixed in postgresql-8.4 8.4.22-0+deb6u1.
References
wiki.postgresql.org/wiki/20140220securityrelease
debian.org/security/2014/dsa-2864
postgresql.org/about/news/1506
lists.apple.com/archives/security-announce/2015/Aug/msg00001.html
debian.org/security/2014/dsa-2865
lists.opensuse.org/opensuse-updates/2014-03/msg00018.html
Show 59 moreShow less
securityfocus.com/bid/65721
support.apple.com/kb/HT205031
lists.apple.com/archives/security-announce/2015/Sep/msg00004.html
lists.opensuse.org/opensuse-updates/2014-03/msg00038.html
support.apple.com/HT205219
nvd.nist.gov/vuln/detail/CVE-2014-0067
github.com/advisories/GHSA-gmhx-6jh3-87c2
advisories.mageia.org/MGASA-2014-0205.html
article.gmane.org/gmane.comp.db.postgresql.announce/2371
article.gmane.org/gmane.comp.db.postgresql.announce/2386
mandriva.com/en/support/security/advisories/mbs1/MDVSA-2014:047
bugs.mageia.org/show_bug.cgi?id=13241
bugs.mageia.org/show_bug.cgi?id=12841
advisories.mageia.org/MGASA-2014-0222.html
bugs.mageia.org/show_bug.cgi?id=13336
ubuntu.com/security/CVE-2014-0067
cve.org/CVERecord?id=CVE-2014-0067
suse.com/security/cve/CVE-2007-4772
suse.com/security/cve/CVE-2007-6600
suse.com/security/cve/CVE-2009-4034
suse.com/security/cve/CVE-2009-4136
suse.com/security/cve/CVE-2010-1169
suse.com/security/cve/CVE-2010-1170
suse.com/security/cve/CVE-2010-3433
suse.com/security/cve/CVE-2012-0866
suse.com/security/cve/CVE-2012-0867
suse.com/security/cve/CVE-2012-0868
suse.com/security/cve/CVE-2012-2143
suse.com/security/cve/CVE-2012-2655
suse.com/security/cve/CVE-2012-3488
suse.com/security/cve/CVE-2012-3489
suse.com/security/cve/CVE-2013-0255
suse.com/security/cve/CVE-2013-1899
suse.com/security/cve/CVE-2013-1900
suse.com/security/cve/CVE-2013-1901
suse.com/security/cve/CVE-2014-0060
suse.com/security/cve/CVE-2014-0061
suse.com/security/cve/CVE-2014-0062
suse.com/security/cve/CVE-2014-0063
suse.com/security/cve/CVE-2014-0064
suse.com/security/cve/CVE-2014-0065
suse.com/security/cve/CVE-2014-0066
suse.com/security/cve/CVE-2014-0067
suse.com/security/cve/CVE-2015-3165
suse.com/security/cve/CVE-2015-3166
suse.com/security/cve/CVE-2015-3167
suse.com/security/cve/CVE-2015-5288
suse.com/security/cve/CVE-2015-5289
suse.com/security/cve/CVE-2016-0766
suse.com/security/cve/CVE-2016-0773
suse.com/security/cve/CVE-2016-5423
suse.com/security/cve/CVE-2016-5424
suse.com/security/cve/CVE-2014-8161
suse.com/security/cve/CVE-2015-0241
suse.com/security/cve/CVE-2015-0242
suse.com/security/cve/CVE-2015-0243
suse.com/security/cve/CVE-2015-0244
suse.com/security/cve/CVE-2016-2193
suse.com/security/cve/CVE-2016-3065