See how pki-core project compares to other vendors in security performance
A flaw was found in pki-core, which could allow a user to get a certificate for another user identity when directory-based authentication is enabled. This flaw allows an authenticated attacker on the adjacent network to impersonate another user within the scope of the domain, but they would not be able to decrypt message content.
Kurt Seifried of Red Hat Product Security reports:
There are several temporary file creation vulnerabilities:
./pki-core-10.2.0/base/
kra/functional/drmtest.py: certdbdir = "/tmp/drmtest-certdb" kra/src/com/netscape/kra/NetkeyKeygenService.java: String oFilePath = "/tmp/wrappedPrivKey.bin"; common/python/pki/profile.py: connection.setauthenticationcert("/tmp/auth.pem") common/python/pki/cert.py: connection.setauthenticationcert("/tmp/auth.pem") util/src/netscape/security/extensions/KerberosName.java: FileOutputStream os = new FileOutputStream("/tmp/out.der"); setup/pkicommon.pm: $tmpdir = "/tmp"; setup/pkicommon.pm: $tmpdir = "/tmp"; tps-client/lib/perl/PKI/TPS/AdminPanel.pm: my $tmpfile = "/tmp/admin-$$"; tps-client/lib/perl/PKI/TPS/AdminPanel.pm: my $tmp = "/tmp/addAgents-$$.ldif"; tps-client/lib/perl/PKI/TPS/NamePanel.pm: my $filename = "/tmp/random.$$"; tps-client/lib/perl/PKI/TPS/NamePanel.pm: my $tmpfile = "/tmp/req$$"; tps-client/lib/perl/PKI/TPS/NamePanel.pm: my $tmpfile = "/tmp/req$$"; tps-client/lib/perl/PKI/TPS/NamePanel.pm: my $tmpfile = "/tmp/grep$$"; tps-client/lib/perl/PKI/TPS/CAInfoPanel.pm: my $tmpfile = "/tmp/ca-$$"; tps-client/lib/perl/PKI/TPS/DatabasePanel.pm: my $tmp = "/tmp/database-$$.ldif"; tps-client/lib/perl/PKI/TPS/DatabasePanel.pm: $tmp = "/tmp/addTokens-$$.ldif"; tps-client/lib/perl/PKI/TPS/DatabasePanel.pm: $tmp = "/tmp/addIndexes-$$.ldif"; tps-client/lib/perl/PKI/TPS/DatabasePanel.pm: $tmp = "/tmp/addVLVIndexes-$$.ldif"; tps-client/lib/perl/PKI/TPS/Config.pm:#$config->loadfile("/tmp/CS.cfg"); tps-client/lib/perl/PKI/TPS/Config.pm:#$config->loadfile("/tmp/CS.cfg"); tps-client/lib/perl/PKI/TPS/DonePanel.pm: my $tmpfile = "/tmp/donepanel-$$"; tps-client/lib/perl/PKI/TPS/DonePanel.pm: my $tmpfile = "/tmp/donepanel-$$"; tps-client/lib/perl/PKI/TPS/DonePanel.pm: my $tmpfile = "/tmp/donepanel-$$"; tps-client/src/include/main/MemoryMgr.h:#define MEMAUDITFILE "/tmp/mem-audit.log" tps-client/src/include/main/MemoryMgr.h:#define MEMDUMPFILE "/tmp/mem-dump.log" tps-client/src/engine/RA.cpp: mcfg->GetConfigAsString(CFGDEBUGFILENAME, "/tmp/debug.log"), tps-client/src/engine/RA.cpp: mcfg->GetConfigAsString(CFGERRORFILENAME, "/tmp/error.log"), tps-client/src/engine/RA.cpp: mcfg->GetConfigAsString(CFGSELFTESTFILENAME, "/tmp/selftest.log"), tps-client/src/engine/RA.cpp: "/tmp/audit.log"), tps-client/src/engine/RA.cpp: "/tmp/audit.log"), tps-client/src/tus/tusdb.c: debugfd = PROpen("/tmp/debugTUSdb.log", tps-client/src/modules/tokendb/modtokendb.cpp: debugfd = PROpen( "/tmp/tus-debug.log", tps-client/setup/create.pl: $tmpDir = "/tmp";