Perfect forward secrecy (PFS) is a security feature in cryptographic systems that ensures session keys used to encrypt data are not compromised even if the server's long-term private key is. This is achieved by generating unique session keys for each communication session, which are not derived from the server's private key. As a result, even if an attacker gains access to the server's private key, they cannot decrypt past communications.
From a security perspective, PFS provides the two following benefits:
Whilst not a weakness of PFS itself, but it is often mentioned when discussing PFS implementation, and that is the cryptographic attacks against the ciphers themselves. Therefore, this is not inherently a weakness of PFS, yet if weak ciphers are used these are more likely to be compromised. Likewise, as with any discussions in cryptography, even with a strong cipher, given sufficient time and computing power it could still be compromised.
Additionally, in non-interactive protocols, a message suppression attack could be carried out. An attacker who can control the network and selectively prevent messages from reaching their intended recipient whilst saving these for future attacks. Since the recipient never received the messages, it may prevent a key from being generated properly, with potential for then the private key being used to decrypt saved data.
Exhaustions attacks may also be possible, where large number of requests can lead to denial of service or the downgrade in the key exchange method.
As with any security measures, given enough resources they may be circumvented. However, PFS adds a lot of benefits to security and if these do not pose an exceptional weight on performance, then implementation of PFS is a great addition to the overall security of communication.