Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
opnsense-ntp-gps-fudge — OPNsense 26.7.6 - High - Remote - Config line injection - NTP GPS fudge | Kitploit
Tools/GitHubGitHub/abraxas/opnsense-ntp-gps-fudge
Vulnerability AnalysisExploitationWeb Application ExploitationConfiguration AuditingSecurity VirtualizationPenetration TestingLabs & Practice
GitHubabraxas/opnsense-ntp-gps-fudge

opnsense-ntp-gps-fudge

OPNsense 26.7.6 - High - Remote - Config line injection - NTP GPS fudge

View Repository
95 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Abraxas Labs - opnsense-ntp-gps-fudge

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-ntp-gps-fudge

opnsense-ntp-gps-fudge

Class: Config line injection Reach: Remote

OPNsense core 26.7.6 (a842fe48) - opnsense.org

Leftover of GHSA-fq94. GPS/PPS fudge1 / fudge2 / refid still concatenate into /var/etc/ntpd.conf after timeserver hosts were stripped. CVE-2026-53581 path overwrite is allowlisted (^cua[a-z0-9.,{}]+$ plus a char device). The general NTP page already treats extra ntpd.conf text as escalation (userIsAdmin). GPS/PPS ACLs are separate. Save configd_run('service restart ntpd'). ntpd runs as root with no -u.

IDno CVE yet
ClassConfig line injection
ReachRemote (authenticated WebGUI)
CWECWE-93 / CWE-74
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ProductOPNsense core (Deciso B.V.)
AffectedOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) NTP GPS/PPS fudge
AuthWebGUI session with page-services-ntp-gps and/or page-services-ntp-pps
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only

I pinned tag 26.7.6. The lab is a PHP gadget of pinned ntpd_configure_do, loopback identity 127.0.0.1:18830. GPS fudge CR/LF wrote an extra logfile line. Timeserver host CR/LF collapsed to one token.

What an attacker can do

MethodSinkPrivilege
GPS fudge1 CR/LFpin ntpd_configure_do extra logfile /oracle/OPNSENSE-NTP-GPS-FUDGE-WITNESS after fudge 127.127.20.0Integrity (lab-proven): ntpd.conf extra line. Lab: fudge-newline=yes.
honor of includefile / driftfile / statsdirntpd as root, no -uIntegrity (inferred): extra ntpd policy / file write at an ntpd-writable path. ntpd not started in the gadget.
timeserver host CR/LFntpd.inc:327-329 stripNegative (lab-proven): timeserver collapsed to one token. timeserver-stripped=yes.
PPS fudge1 / refid CR/LFPPS fudge 127.127.22.0 blockIntegrity (inferred): same class. Gadget ran the GPS path.
invalid extra directiventpd startAvailability (inferred): ntpd can fail to start.
this pathnoneRecon: no extra read of config.xml secrets.

Lab-proven vs inferred: GPS fudge newline and timeserver strip are lab SUCCESS. PPS sibling and live ntpd as root are inferred.

Requires: page-services-ntp-gps (lab) and/or page-services-ntp-pps. Not page-all. Live /dev/cua* char node so configure_gps/pps returns true. NTP enabled. CSRF token. Browser <input type="text"> will not keep CR/LF; a direct POST from that session will.

Adjacent surface that stays closed

SurfaceLab
CVE-2026-53581 arbitrary-path overwrite../ no longer leaves /dev/ (gps-char=char)
GHSA-h793 GPS XSSno chain to this leftover
Timeserver host CR/LFstripped (timeserver-stripped=yes)
custom_options on the general NTP pagepage-all / userIsAdmin only
Unauthclosed

No unauth. No 53581 path overwrite. Timeserver hosts already got the strip.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18830. Compose project opnsense-ntp-gps-fudge. Witness OPNSENSE-NTP-GPS-FUDGE-WITNESS. Last line:

SUCCESS opnsense-ntp-gps-fudge fudge-newline=yes timeserver-stripped=yes OPNSENSE-NTP-GPS-FUDGE-WITNESS

The fix

Strip CR/LF (and treat quotes) on GPS/PPS fudge1 / fudge2 / refid the same way timeserver hosts already do at ntpd.inc:327-329. Or constrain those fields to a numeric / token class. Keep extra ntpd.conf text behind userIsAdmin.

References

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • ntpd.inc ntpd_configure_do
  • services_ntpd_gps.php
  • Named fields (not this leftover): GHSA-fq94 timeserver host CR/LF; CVE-2026-53581 GPS/PPS serial path
  • CWE-93 / CWE-74
Download Tool