CVE-2022-31157

7.5 HIGH

📋 TL;DR

This vulnerability affects the LTI 1.3 Tool Library for PHP, where insufficient cryptographic complexity in random nonce generation could allow attackers to predict or manipulate authentication values. It impacts any PHP application using this library for LTI 1.3 tool provider functionality. Users of affected versions are vulnerable to authentication-related attacks.

💻 Affected Systems

Products:
  • LTI 1.3 Tool Library for PHP
Versions: All versions prior to 5.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects PHP applications using this specific library for LTI 1.3 tool provider implementation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Authentication bypass leading to unauthorized access to LTI-integrated systems, potential data exposure, or privilege escalation within affected applications.

🟠

Likely Case

Session hijacking or replay attacks against LTI tool integrations, compromising user sessions and potentially accessing restricted educational resources.

🟢

If Mitigated

Limited impact with proper network segmentation and additional authentication layers, though the cryptographic weakness remains.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires understanding of LTI protocol and cryptographic weaknesses, but no public exploit code is available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.0

Vendor Advisory: https://github.com/packbackbooks/lti-1-3-php-library/security/advisories/GHSA-768m-5w34-2xf5

Restart Required: No

Instructions:

1. Update composer.json to require version 5.0 or higher of packbackbooks/lti-1-3-php-library. 2. Run 'composer update packbackbooks/lti-1-3-php-library'. 3. Test LTI functionality after update.

🧯 If You Can't Patch

  • Implement additional authentication validation layers for LTI requests
  • Monitor for unusual LTI session patterns and implement rate limiting

🔍 How to Verify

Check if Vulnerable:

Check composer.lock or vendor/packbackbooks/lti-1-3-php-library/composer.json for version number below 5.0

Check Version:

composer show packbackbooks/lti-1-3-php-library | grep versions

Verify Fix Applied:

Confirm version 5.0 or higher is installed via 'composer show packbackbooks/lti-1-3-php-library'

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed LTI authentication attempts from same source
  • Unusual LTI session creation patterns
  • LTI nonce reuse or predictable values

Network Indicators:

  • Abnormal LTI launch request patterns
  • Suspicious timing of LTI authentication requests

SIEM Query:

source="*lti*" AND (event="authentication_failure" OR event="session_hijack")

🔗 References

📤 Share & Export